mirror of
https://github.com/HandmadeMath/HandmadeMath.git
synced 2025-12-31 00:42:01 +00:00
Compare commits
2 Commits
example-2
...
benchmark2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
244e9879fd | ||
|
|
5ec1df056f |
@@ -1,9 +0,0 @@
|
||||
root = true
|
||||
|
||||
[*.{c,cpp,h}]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -31,7 +31,7 @@
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
test/build
|
||||
example/build
|
||||
example/lib/flextgl/*
|
||||
hmm_test
|
||||
hmm_test*
|
||||
benchmark_c
|
||||
benchmark_cpp
|
||||
|
||||
9
.gitmodules
vendored
9
.gitmodules
vendored
@@ -1,9 +0,0 @@
|
||||
[submodule "example/lib/glfw"]
|
||||
path = example/lib/glfw
|
||||
url = git@github.com:glfw/glfw.git
|
||||
[submodule "example/lib/flextgl-gen"]
|
||||
path = example/lib/flextgl-gen
|
||||
url = git@github.com:mosra/flextgl.git
|
||||
[submodule "example/lib/EGL-Registry"]
|
||||
path = example/lib/EGL-Registry
|
||||
url = git@github.com:KhronosGroup/EGL-Registry.git
|
||||
|
||||
21
.travis.yml
21
.travis.yml
@@ -1,23 +1,12 @@
|
||||
language: cpp
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
matrix:
|
||||
include:
|
||||
# Windows x64 builds (MSVC)
|
||||
- os: windows
|
||||
script:
|
||||
- ./test.bat travis
|
||||
|
||||
before_install:
|
||||
- eval "${MATRIX_EVAL}"
|
||||
install:
|
||||
- cd test
|
||||
- make
|
||||
script:
|
||||
- make c
|
||||
- make c_no_sse
|
||||
- make cpp
|
||||
- make cpp_no_sse
|
||||
- ./hmm_test_c
|
||||
- ./hmm_test_c_no_sse
|
||||
- ./hmm_test_cpp
|
||||
- ./hmm_test_cpp_no_sse
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# Understanding the structure of Handmade Math
|
||||
|
||||
Most of the functions in Handmade Math are very short, and all are the kind of functions you want to be easily inlined for performance. Because of this, all functions in Handmade Math are defined with `HMM_INLINE`, which is defined as `static inline`.
|
||||
Most of the functions in Handmade Math are very short, and are the kind of functions you want to have inlined. Because of this, most functions in Handmade Math are defined with `HINLINE`, which is defined as `static inline`.
|
||||
|
||||
The exceptions are functions like `HMM_Rotate`, which are long enough that it doesn't make sense to inline them. These functions are defined with an `HEXTERN` prototype, and implemented in the `#ifdef HANDMADE_MATH_IMPLEMENTATION` block.
|
||||
|
||||
# Quick style guide
|
||||
|
||||
|
||||
3302
HandmadeMath.h
3302
HandmadeMath.h
File diff suppressed because it is too large
Load Diff
@@ -10,15 +10,6 @@ To get started, go download [the latest release](https://github.com/HandmadeMath
|
||||
|
||||
Version | Changes |
|
||||
----------------|----------------|
|
||||
**1.11.0** | Added ability to customize or remove the default `HMM_` prefix on function names by defining a macro called `HMM_PREFIX(name)`. |
|
||||
**1.10.1** | Removed stdint.h, this doesn't exist on some really old compilers and we didn't really use it anyways. |
|
||||
**1.10.0** | Made HMM_Perspective use vertical FOV instead of horizontal FOV for consistency with other graphics APIs. |
|
||||
**1.9.0** | Added SSE versions of quaternion operations. |
|
||||
**1.8.0** | Added fast vector normalization routines that use fast inverse square roots.
|
||||
**1.7.1** | Changed operator[] to take a const ref int instead of an int.
|
||||
**1.7.0** | Renamed the 'Rows' member of hmm_mat4 to 'Columns'. Since our matrices are column-major, this should have been named 'Columns' from the start. 'Rows' is still present, but has been deprecated.
|
||||
**1.6.0** | Added array subscript operators for vector and matrix types in C++. This is provided as a convenience, but be aware that it may incur an extra function call in unoptimized builds.
|
||||
**1.5.1** | Fixed a bug with uninitialized elements in HMM_LookAt.
|
||||
**1.5.0** | Changed internal structure for better performance and inlining. As a result, `HANDMADE_MATH_NO_INLINE` has been removed and no longer has any effect.
|
||||
**1.4.0** | Fixed bug when using C mode. SSE'd all vec4 operations. Removed zeroing for better performance.
|
||||
**1.3.0** | Removed need to `#define HANDMADE_MATH_CPP_MODE`. C++ definitions are now included automatically in C++ environments.
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
ifeq ($(OS),Windows_NT)
|
||||
RM = del /Q /F
|
||||
RMDIR = rmdir /Q /S
|
||||
CP = copy /Y
|
||||
PYTHON = python
|
||||
PIP = pip
|
||||
else
|
||||
RM = rm -rf
|
||||
RMDIR = rm -rf
|
||||
CP = cp -f
|
||||
PYTHON = python3
|
||||
PIP = pip3
|
||||
endif
|
||||
|
||||
BUILD_DIR=build
|
||||
|
||||
all: example
|
||||
|
||||
example: lib/flextgl/flextgl.h
|
||||
$(RMDIR) $(BUILD_DIR)
|
||||
mkdir $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CC) -std=c99 -c -lm \
|
||||
-I../lib/glfw/include \
|
||||
-I../lib/flextgl \
|
||||
-I../lib/EGL-Registry/api \
|
||||
../src/main.c ../lib/flextgl/flextGL.c \
|
||||
&& $(CC) -ohmm_example.exe main.o -lm
|
||||
|
||||
flextgl-deps:
|
||||
$(PIP) install --user wheezy.template
|
||||
|
||||
lib/flextgl/flextgl.h lib/flextgl/flextgl.c: flextgl-deps
|
||||
$(PYTHON) lib/flextgl-gen/flextGLgen.py -D lib/flextgl -T glfw3 flextgl-profile.txt
|
||||
@@ -1,19 +0,0 @@
|
||||
@echo off
|
||||
|
||||
where /q cl
|
||||
if ERRORLEVEL 1 (
|
||||
for /f "delims=" %%a in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -find VC\Auxiliary\Build\vcvarsall.bat') do (%%a x64)
|
||||
)
|
||||
|
||||
python lib\flextgl-gen\flextGLgen.py -D lib\flextgl -T glfw3 flextgl-profile.txt
|
||||
|
||||
if not exist "build" mkdir build
|
||||
pushd build
|
||||
|
||||
cl ^
|
||||
/Feexample.exe /MD ^
|
||||
/I..\lib\glfw\include /I..\lib\flextgl /I..\lib\EGL-Registry\api ^
|
||||
..\src\main.c ..\lib\flextgl\flextGL.c ^
|
||||
/link user32.lib shell32.lib gdi32.lib opengl32.lib ..\lib\glfw\lib-vc2017\glfw3.lib
|
||||
|
||||
popd
|
||||
@@ -1 +0,0 @@
|
||||
version 3.3 core
|
||||
@@ -1,3 +0,0 @@
|
||||
@echo off
|
||||
|
||||
pip install --user wheezy.template
|
||||
Submodule example/lib/EGL-Registry deleted from 1147890444
Submodule example/lib/flextgl-gen deleted from 79d13a2ba7
File diff suppressed because it is too large
Load Diff
@@ -1,525 +0,0 @@
|
||||
/*************************************************************************
|
||||
* GLFW 3.3 - www.glfw.org
|
||||
* A library for OpenGL, window and input
|
||||
*------------------------------------------------------------------------
|
||||
* Copyright (c) 2002-2006 Marcus Geelnard
|
||||
* Copyright (c) 2006-2018 Camilla Löwy <elmindreda@glfw.org>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would
|
||||
* be appreciated but is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such, and must not
|
||||
* be misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
*************************************************************************/
|
||||
|
||||
#ifndef _glfw3_native_h_
|
||||
#define _glfw3_native_h_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Doxygen documentation
|
||||
*************************************************************************/
|
||||
|
||||
/*! @file glfw3native.h
|
||||
* @brief The header of the native access functions.
|
||||
*
|
||||
* This is the header file of the native access functions. See @ref native for
|
||||
* more information.
|
||||
*/
|
||||
/*! @defgroup native Native access
|
||||
* @brief Functions related to accessing native handles.
|
||||
*
|
||||
* **By using the native access functions you assert that you know what you're
|
||||
* doing and how to fix problems caused by using them. If you don't, you
|
||||
* shouldn't be using them.**
|
||||
*
|
||||
* Before the inclusion of @ref glfw3native.h, you may define zero or more
|
||||
* window system API macro and zero or more context creation API macros.
|
||||
*
|
||||
* The chosen backends must match those the library was compiled for. Failure
|
||||
* to do this will cause a link-time error.
|
||||
*
|
||||
* The available window API macros are:
|
||||
* * `GLFW_EXPOSE_NATIVE_WIN32`
|
||||
* * `GLFW_EXPOSE_NATIVE_COCOA`
|
||||
* * `GLFW_EXPOSE_NATIVE_X11`
|
||||
* * `GLFW_EXPOSE_NATIVE_WAYLAND`
|
||||
*
|
||||
* The available context API macros are:
|
||||
* * `GLFW_EXPOSE_NATIVE_WGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_NSGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_GLX`
|
||||
* * `GLFW_EXPOSE_NATIVE_EGL`
|
||||
* * `GLFW_EXPOSE_NATIVE_OSMESA`
|
||||
*
|
||||
* These macros select which of the native access functions that are declared
|
||||
* and which platform-specific headers to include. It is then up your (by
|
||||
* definition platform-specific) code to handle which of these should be
|
||||
* defined.
|
||||
*/
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* System headers and types
|
||||
*************************************************************************/
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WIN32) || defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
// This is a workaround for the fact that glfw3.h needs to export APIENTRY (for
|
||||
// example to allow applications to correctly declare a GL_ARB_debug_output
|
||||
// callback) but windows.h assumes no one will define APIENTRY before it does
|
||||
#if defined(GLFW_APIENTRY_DEFINED)
|
||||
#undef APIENTRY
|
||||
#undef GLFW_APIENTRY_DEFINED
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#elif defined(GLFW_EXPOSE_NATIVE_COCOA) || defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
#if defined(__OBJC__)
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#else
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
typedef void* id;
|
||||
#endif
|
||||
#elif defined(GLFW_EXPOSE_NATIVE_X11) || defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#elif defined(GLFW_EXPOSE_NATIVE_WAYLAND)
|
||||
#include <wayland-client.h>
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
/* WGL is declared by windows.h */
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
/* NSGL is declared by Cocoa.h */
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
#include <GL/glx.h>
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||
#include <EGL/egl.h>
|
||||
#endif
|
||||
#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
|
||||
#include <GL/osmesa.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
* Functions
|
||||
*************************************************************************/
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WIN32)
|
||||
/*! @brief Returns the adapter device name of the specified monitor.
|
||||
*
|
||||
* @return The UTF-8 encoded adapter device name (for example `\\.\DISPLAY1`)
|
||||
* of the specified monitor, or `NULL` if an [error](@ref error_handling)
|
||||
* occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI const char* glfwGetWin32Adapter(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the display device name of the specified monitor.
|
||||
*
|
||||
* @return The UTF-8 encoded display device name (for example
|
||||
* `\\.\DISPLAY1\Monitor0`) of the specified monitor, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI const char* glfwGetWin32Monitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `HWND` of the specified window.
|
||||
*
|
||||
* @return The `HWND` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI HWND glfwGetWin32Window(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WGL)
|
||||
/*! @brief Returns the `HGLRC` of the specified window.
|
||||
*
|
||||
* @return The `HGLRC` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI HGLRC glfwGetWGLContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_COCOA)
|
||||
/*! @brief Returns the `CGDirectDisplayID` of the specified monitor.
|
||||
*
|
||||
* @return The `CGDirectDisplayID` of the specified monitor, or
|
||||
* `kCGNullDirectDisplay` if an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `NSWindow` of the specified window.
|
||||
*
|
||||
* @return The `NSWindow` of the specified window, or `nil` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI id glfwGetCocoaWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_NSGL)
|
||||
/*! @brief Returns the `NSOpenGLContext` of the specified window.
|
||||
*
|
||||
* @return The `NSOpenGLContext` of the specified window, or `nil` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI id glfwGetNSGLContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_X11)
|
||||
/*! @brief Returns the `Display` used by GLFW.
|
||||
*
|
||||
* @return The `Display` used by GLFW, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI Display* glfwGetX11Display(void);
|
||||
|
||||
/*! @brief Returns the `RRCrtc` of the specified monitor.
|
||||
*
|
||||
* @return The `RRCrtc` of the specified monitor, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `RROutput` of the specified monitor.
|
||||
*
|
||||
* @return The `RROutput` of the specified monitor, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.1.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI RROutput glfwGetX11Monitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the `Window` of the specified window.
|
||||
*
|
||||
* @return The `Window` of the specified window, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI Window glfwGetX11Window(GLFWwindow* window);
|
||||
|
||||
/*! @brief Sets the current primary selection to the specified string.
|
||||
*
|
||||
* @param[in] string A UTF-8 encoded string.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
|
||||
* GLFW_PLATFORM_ERROR.
|
||||
*
|
||||
* @pointer_lifetime The specified string is copied before this function
|
||||
* returns.
|
||||
*
|
||||
* @thread_safety This function must only be called from the main thread.
|
||||
*
|
||||
* @sa @ref clipboard
|
||||
* @sa glfwGetX11SelectionString
|
||||
* @sa glfwSetClipboardString
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI void glfwSetX11SelectionString(const char* string);
|
||||
|
||||
/*! @brief Returns the contents of the current primary selection as a string.
|
||||
*
|
||||
* If the selection is empty or if its contents cannot be converted, `NULL`
|
||||
* is returned and a @ref GLFW_FORMAT_UNAVAILABLE error is generated.
|
||||
*
|
||||
* @return The contents of the selection as a UTF-8 encoded string, or `NULL`
|
||||
* if an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @errors Possible errors include @ref GLFW_NOT_INITIALIZED and @ref
|
||||
* GLFW_PLATFORM_ERROR.
|
||||
*
|
||||
* @pointer_lifetime The returned string is allocated and freed by GLFW. You
|
||||
* should not free it yourself. It is valid until the next call to @ref
|
||||
* glfwGetX11SelectionString or @ref glfwSetX11SelectionString, or until the
|
||||
* library is terminated.
|
||||
*
|
||||
* @thread_safety This function must only be called from the main thread.
|
||||
*
|
||||
* @sa @ref clipboard
|
||||
* @sa glfwSetX11SelectionString
|
||||
* @sa glfwGetClipboardString
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI const char* glfwGetX11SelectionString(void);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_GLX)
|
||||
/*! @brief Returns the `GLXContext` of the specified window.
|
||||
*
|
||||
* @return The `GLXContext` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI GLXContext glfwGetGLXContext(GLFWwindow* window);
|
||||
|
||||
/*! @brief Returns the `GLXWindow` of the specified window.
|
||||
*
|
||||
* @return The `GLXWindow` of the specified window, or `None` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI GLXWindow glfwGetGLXWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_WAYLAND)
|
||||
/*! @brief Returns the `struct wl_display*` used by GLFW.
|
||||
*
|
||||
* @return The `struct wl_display*` used by GLFW, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI struct wl_display* glfwGetWaylandDisplay(void);
|
||||
|
||||
/*! @brief Returns the `struct wl_output*` of the specified monitor.
|
||||
*
|
||||
* @return The `struct wl_output*` of the specified monitor, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor);
|
||||
|
||||
/*! @brief Returns the main `struct wl_surface*` of the specified window.
|
||||
*
|
||||
* @return The main `struct wl_surface*` of the specified window, or `NULL` if
|
||||
* an [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.2.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_EGL)
|
||||
/*! @brief Returns the `EGLDisplay` used by GLFW.
|
||||
*
|
||||
* @return The `EGLDisplay` used by GLFW, or `EGL_NO_DISPLAY` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI EGLDisplay glfwGetEGLDisplay(void);
|
||||
|
||||
/*! @brief Returns the `EGLContext` of the specified window.
|
||||
*
|
||||
* @return The `EGLContext` of the specified window, or `EGL_NO_CONTEXT` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI EGLContext glfwGetEGLContext(GLFWwindow* window);
|
||||
|
||||
/*! @brief Returns the `EGLSurface` of the specified window.
|
||||
*
|
||||
* @return The `EGLSurface` of the specified window, or `EGL_NO_SURFACE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.0.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI EGLSurface glfwGetEGLSurface(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#if defined(GLFW_EXPOSE_NATIVE_OSMESA)
|
||||
/*! @brief Retrieves the color buffer associated with the specified window.
|
||||
*
|
||||
* @param[in] window The window whose color buffer to retrieve.
|
||||
* @param[out] width Where to store the width of the color buffer, or `NULL`.
|
||||
* @param[out] height Where to store the height of the color buffer, or `NULL`.
|
||||
* @param[out] format Where to store the OSMesa pixel format of the color
|
||||
* buffer, or `NULL`.
|
||||
* @param[out] buffer Where to store the address of the color buffer, or
|
||||
* `NULL`.
|
||||
* @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI int glfwGetOSMesaColorBuffer(GLFWwindow* window, int* width, int* height, int* format, void** buffer);
|
||||
|
||||
/*! @brief Retrieves the depth buffer associated with the specified window.
|
||||
*
|
||||
* @param[in] window The window whose depth buffer to retrieve.
|
||||
* @param[out] width Where to store the width of the depth buffer, or `NULL`.
|
||||
* @param[out] height Where to store the height of the depth buffer, or `NULL`.
|
||||
* @param[out] bytesPerValue Where to store the number of bytes per depth
|
||||
* buffer element, or `NULL`.
|
||||
* @param[out] buffer Where to store the address of the depth buffer, or
|
||||
* `NULL`.
|
||||
* @return `GLFW_TRUE` if successful, or `GLFW_FALSE` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI int glfwGetOSMesaDepthBuffer(GLFWwindow* window, int* width, int* height, int* bytesPerValue, void** buffer);
|
||||
|
||||
/*! @brief Returns the `OSMesaContext` of the specified window.
|
||||
*
|
||||
* @return The `OSMesaContext` of the specified window, or `NULL` if an
|
||||
* [error](@ref error_handling) occurred.
|
||||
*
|
||||
* @thread_safety This function may be called from any thread. Access is not
|
||||
* synchronized.
|
||||
*
|
||||
* @since Added in version 3.3.
|
||||
*
|
||||
* @ingroup native
|
||||
*/
|
||||
GLFWAPI OSMesaContext glfwGetOSMesaContext(GLFWwindow* window);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _glfw3_native_h_ */
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
#define GLFW_INCLUDE_NONE
|
||||
#include "GLFW/glfw3.h"
|
||||
#include "flextGL.h"
|
||||
#define SOKOL_IMPL
|
||||
#define SOKOL_GLCORE33
|
||||
#include "sokol_gfx.h"
|
||||
|
||||
#include "../../HandmadeMath.h"
|
||||
|
||||
// TODO: Remove this
|
||||
#include <stdio.h>
|
||||
|
||||
typedef struct {
|
||||
hmm_mat4 mvp;
|
||||
hmm_vec4 color;
|
||||
} uniforms_t;
|
||||
|
||||
typedef struct {
|
||||
sg_bindings bindings;
|
||||
int numVerts;
|
||||
} model_t;
|
||||
|
||||
model_t triangle;
|
||||
model_t cube;
|
||||
model_t cylinder;
|
||||
|
||||
model_t initModel(sg_buffer vbuf, sg_buffer ibuf, size_t sizeOfIndices) {
|
||||
model_t result = {
|
||||
.bindings = (sg_bindings) {
|
||||
.vertex_buffers[0] = vbuf,
|
||||
.index_buffer = ibuf,
|
||||
},
|
||||
.numVerts = sizeOfIndices / sizeof(uint16_t),
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#define NUM_CYLINDER_SIDES 32
|
||||
|
||||
void initModels() {
|
||||
{
|
||||
// triangle
|
||||
const hmm_vec3 verts[] = {
|
||||
HMM_Vec3( 0.0f, 0.5f, 0.0f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
HMM_Vec3( 0.5f, -0.5f, 0.0f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, 0.0f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
};
|
||||
const uint16_t indices[] = { 0, 1, 2 };
|
||||
sg_buffer vbuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.size = sizeof(verts),
|
||||
.content = verts,
|
||||
});
|
||||
sg_buffer ibuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.type = SG_BUFFERTYPE_INDEXBUFFER,
|
||||
.size = sizeof(indices),
|
||||
.content = indices,
|
||||
});
|
||||
triangle = initModel(vbuf, ibuf, sizeof(indices));
|
||||
}
|
||||
|
||||
{
|
||||
// cube
|
||||
const hmm_vec3 verts[] = {
|
||||
// front
|
||||
HMM_Vec3(-0.5f, 0.5f, 0.5f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, 0.5f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
HMM_Vec3( 0.5f, 0.5f, 0.5f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
HMM_Vec3( 0.5f, -0.5f, 0.5f), HMM_Vec3(0.0f, 0.0f, 1.0f),
|
||||
|
||||
// back
|
||||
HMM_Vec3( 0.5f, 0.5f, -0.5f), HMM_Vec3(0.0f, 0.0f, -1.0f),
|
||||
HMM_Vec3( 0.5f, -0.5f, -0.5f), HMM_Vec3(0.0f, 0.0f, -1.0f),
|
||||
HMM_Vec3(-0.5f, 0.5f, -0.5f), HMM_Vec3(0.0f, 0.0f, -1.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, -0.5f), HMM_Vec3(0.0f, 0.0f, -1.0f),
|
||||
|
||||
// left
|
||||
HMM_Vec3(-0.5f, 0.5f, -0.5f), HMM_Vec3(-1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, -0.5f), HMM_Vec3(-1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(-0.5f, 0.5f, 0.5f), HMM_Vec3(-1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, 0.5f), HMM_Vec3(-1.0f, 0.0f, 0.0f),
|
||||
|
||||
// right
|
||||
HMM_Vec3(0.5f, 0.5f, 0.5f), HMM_Vec3(1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(0.5f, -0.5f, 0.5f), HMM_Vec3(1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(0.5f, 0.5f, -0.5f), HMM_Vec3(1.0f, 0.0f, 0.0f),
|
||||
HMM_Vec3(0.5f, -0.5f, -0.5f), HMM_Vec3(1.0f, 0.0f, 0.0f),
|
||||
|
||||
// top
|
||||
HMM_Vec3(-0.5f, 0.5f, -0.5f), HMM_Vec3(0.0f, 1.0f, 0.0f),
|
||||
HMM_Vec3(-0.5f, 0.5f, 0.5f), HMM_Vec3(0.0f, 1.0f, 0.0f),
|
||||
HMM_Vec3( 0.5f, 0.5f, -0.5f), HMM_Vec3(0.0f, 1.0f, 0.0f),
|
||||
HMM_Vec3( 0.5f, 0.5f, 0.5f), HMM_Vec3(0.0f, 1.0f, 0.0f),
|
||||
|
||||
// bottom
|
||||
HMM_Vec3(-0.5f, -0.5f, 0.5f), HMM_Vec3(0.0f, -1.0f, 0.0f),
|
||||
HMM_Vec3(-0.5f, -0.5f, -0.5f), HMM_Vec3(0.0f, -1.0f, 0.0f),
|
||||
HMM_Vec3( 0.5f, -0.5f, 0.5f), HMM_Vec3(0.0f, -1.0f, 0.0f),
|
||||
HMM_Vec3( 0.5f, -0.5f, -0.5f), HMM_Vec3(0.0f, -1.0f, 0.0f),
|
||||
};
|
||||
const uint16_t indices[] = {
|
||||
0, 1, 2, 2, 1, 3,
|
||||
4, 5, 6, 6, 5, 7,
|
||||
8, 9, 10, 10, 9, 11,
|
||||
12, 13, 14, 14, 13, 15,
|
||||
16, 17, 18, 18, 17, 19,
|
||||
20, 21, 22, 22, 21, 23,
|
||||
};
|
||||
sg_buffer vbuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.size = sizeof(verts),
|
||||
.content = verts,
|
||||
});
|
||||
sg_buffer ibuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.type = SG_BUFFERTYPE_INDEXBUFFER,
|
||||
.size = sizeof(indices),
|
||||
.content = indices,
|
||||
});
|
||||
cube = initModel(vbuf, ibuf, sizeof(indices));
|
||||
}
|
||||
|
||||
{
|
||||
// cylinder
|
||||
|
||||
// the vertex order will be:
|
||||
// top middle, bottom middle, top cap ring, bottom cap ring, top side ring, bottom side ring
|
||||
|
||||
hmm_vec3 verts[(2 * (1 + NUM_CYLINDER_SIDES) + (2 * NUM_CYLINDER_SIDES)) * 2];
|
||||
verts[0] = HMM_Vec3(0.0f, 0.5f, 0.0f); verts[1] = HMM_Vec3(0.0f, 1.0f, 0.0f);
|
||||
verts[2] = HMM_Vec3(0.0f, -0.5f, 0.0f); verts[3] = HMM_Vec3(0.0f, -1.0f, 0.0f);
|
||||
|
||||
const int baseVertIndexTopCapRing = 4; // middles are vert, normal, vert, normal
|
||||
const int baseVertIndexBottomCapRing = baseVertIndexTopCapRing + (NUM_CYLINDER_SIDES * 2);
|
||||
const int baseVertIndexTopSideRing = baseVertIndexBottomCapRing + (NUM_CYLINDER_SIDES * 2);
|
||||
const int baseVertIndexBottomSideRing = baseVertIndexTopSideRing + (NUM_CYLINDER_SIDES * 2);
|
||||
|
||||
for (int i = 0; i < NUM_CYLINDER_SIDES; i++) {
|
||||
float t = 2 * HMM_PI32 * (i / (float)NUM_CYLINDER_SIDES);
|
||||
float x = HMM_CosF(t);
|
||||
float z = HMM_SinF(t);
|
||||
hmm_vec3 top = HMM_Vec3(x, 0.5f, z);
|
||||
hmm_vec3 bottom = HMM_Vec3(x, -0.5f, z);
|
||||
hmm_vec3 sideNormal = HMM_NormalizeVec3(HMM_Vec3(x, 0.0f, z));
|
||||
verts[baseVertIndexTopCapRing + (2 * i) ] = top;
|
||||
verts[baseVertIndexTopCapRing + (2 * i) + 1] = HMM_Vec3(0.0f, 1.0f, 0.0f);
|
||||
verts[baseVertIndexBottomCapRing + (2 * i) ] = bottom;
|
||||
verts[baseVertIndexBottomCapRing + (2 * i) + 1] = HMM_Vec3(0.0f, -1.0f, 0.0f);
|
||||
verts[baseVertIndexTopSideRing + (2 * i) ] = top;
|
||||
verts[baseVertIndexTopSideRing + (2 * i) + 1] = sideNormal;
|
||||
verts[baseVertIndexBottomSideRing + (2 * i) ] = bottom;
|
||||
verts[baseVertIndexBottomSideRing + (2 * i) + 1] = sideNormal;
|
||||
}
|
||||
|
||||
uint16_t indices[3 * NUM_CYLINDER_SIDES + 3 * NUM_CYLINDER_SIDES + 3 * 2 * NUM_CYLINDER_SIDES];
|
||||
|
||||
// top cap
|
||||
for (int i = 0; i < NUM_CYLINDER_SIDES; i++) {
|
||||
indices[3 * i] = 0;
|
||||
indices[3 * i + 1] = 2 + i;
|
||||
indices[3 * i + 2] = 2 + ((i + 1) % NUM_CYLINDER_SIDES);
|
||||
}
|
||||
|
||||
// bottom cap
|
||||
const int bottomCapBaseIndex = 3 * NUM_CYLINDER_SIDES;
|
||||
for (int i = 0; i < NUM_CYLINDER_SIDES; i++) {
|
||||
indices[bottomCapBaseIndex + 3 * i] = 1;
|
||||
indices[bottomCapBaseIndex + 3 * i + 1] = (2 + NUM_CYLINDER_SIDES) + ((i + 1) % NUM_CYLINDER_SIDES);
|
||||
indices[bottomCapBaseIndex + 3 * i + 2] = (2 + NUM_CYLINDER_SIDES) + i;
|
||||
}
|
||||
|
||||
const int sideBaseIndex = bottomCapBaseIndex + 3 * NUM_CYLINDER_SIDES;
|
||||
const int topSideRingStart = 2 + NUM_CYLINDER_SIDES + NUM_CYLINDER_SIDES;
|
||||
const int bottomSideRingStart = topSideRingStart + NUM_CYLINDER_SIDES;
|
||||
for (int i = 0; i < NUM_CYLINDER_SIDES; i++) {
|
||||
indices[sideBaseIndex + 6 * i] = topSideRingStart + i;
|
||||
indices[sideBaseIndex + 6 * i + 1] = bottomSideRingStart + i;
|
||||
indices[sideBaseIndex + 6 * i + 2] = topSideRingStart + ((i + 1) % NUM_CYLINDER_SIDES);
|
||||
indices[sideBaseIndex + 6 * i + 3] = topSideRingStart + ((i + 1) % NUM_CYLINDER_SIDES);
|
||||
indices[sideBaseIndex + 6 * i + 4] = bottomSideRingStart + i;
|
||||
indices[sideBaseIndex + 6 * i + 5] = bottomSideRingStart + ((i + 1) % NUM_CYLINDER_SIDES);
|
||||
}
|
||||
|
||||
sg_buffer vbuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.size = sizeof(verts),
|
||||
.content = verts,
|
||||
});
|
||||
sg_buffer ibuf = sg_make_buffer(&(sg_buffer_desc){
|
||||
.type = SG_BUFFERTYPE_INDEXBUFFER,
|
||||
.size = sizeof(indices),
|
||||
.content = indices,
|
||||
});
|
||||
cylinder = initModel(vbuf, ibuf, sizeof(indices));
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
/* create window and GL context via GLFW */
|
||||
glfwInit();
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
GLFWwindow* w = glfwCreateWindow(640, 480, "Sokol Triangle GLFW", 0, 0);
|
||||
glfwMakeContextCurrent(w);
|
||||
glfwSwapInterval(1);
|
||||
flextInit(w);
|
||||
|
||||
/* setup sokol_gfx */
|
||||
sg_setup(&(sg_desc){0});
|
||||
|
||||
initModels();
|
||||
|
||||
sg_layout_desc layout = {
|
||||
.attrs = {
|
||||
[0].format=SG_VERTEXFORMAT_FLOAT3,
|
||||
[1].format=SG_VERTEXFORMAT_FLOAT3,
|
||||
}
|
||||
};
|
||||
|
||||
sg_shader shd = sg_make_shader(&(sg_shader_desc){
|
||||
.vs = {
|
||||
.source =
|
||||
"#version 330\n"
|
||||
"uniform mat4 mvp;"
|
||||
"uniform vec4 color0;"
|
||||
"layout(location=0) in vec4 position;\n"
|
||||
"out vec4 color;\n"
|
||||
"void main() {\n"
|
||||
" gl_Position = mvp * position;\n"
|
||||
" color = color0;\n"
|
||||
"}\n",
|
||||
.uniform_blocks[0] = {
|
||||
.size = sizeof(uniforms_t),
|
||||
.uniforms = {
|
||||
[0] = { .name="mvp", .type=SG_UNIFORMTYPE_MAT4 },
|
||||
[1] = { .name="color0", .type=SG_UNIFORMTYPE_FLOAT4 },
|
||||
},
|
||||
},
|
||||
},
|
||||
.fs.source =
|
||||
"#version 330\n"
|
||||
"in vec4 color;\n"
|
||||
"out vec4 frag_color;\n"
|
||||
"void main() {\n"
|
||||
" frag_color = color;\n"
|
||||
"}\n",
|
||||
});
|
||||
|
||||
/* a pipeline state object (default render states are fine for triangle) */
|
||||
sg_pipeline pip = sg_make_pipeline(&(sg_pipeline_desc){
|
||||
.shader = shd,
|
||||
.layout = layout,
|
||||
.index_type = SG_INDEXTYPE_UINT16,
|
||||
.depth_stencil = {
|
||||
.depth_compare_func = SG_COMPAREFUNC_LESS_EQUAL,
|
||||
.depth_write_enabled = true,
|
||||
},
|
||||
.rasterizer = (sg_rasterizer_state) {
|
||||
.cull_mode = SG_CULLMODE_BACK,
|
||||
.face_winding = SG_FACEWINDING_CCW,
|
||||
},
|
||||
});
|
||||
|
||||
/* default pass action (clear to grey) */
|
||||
sg_pass_action pass_action = {0};
|
||||
|
||||
double previousTime = glfwGetTime();
|
||||
|
||||
/* draw loop */
|
||||
while (!glfwWindowShouldClose(w)) {
|
||||
double time = glfwGetTime();
|
||||
double deltaTime = time - previousTime;
|
||||
double previousTime = time;
|
||||
|
||||
int cur_width, cur_height;
|
||||
glfwGetFramebufferSize(w, &cur_width, &cur_height);
|
||||
sg_begin_default_pass(&pass_action, cur_width, cur_height);
|
||||
|
||||
for (int j = 0; j < 3; j++) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
model_t model = cylinder;
|
||||
|
||||
hmm_mat4 scale = HMM_Scale(HMM_Vec3(0.25f, 0.5f, 0.25f));
|
||||
hmm_mat4 rotateZ = HMM_Rotate(HMM_PI32 * i, HMM_Vec3(0.0f, 0.0f, 1.0f));
|
||||
hmm_mat4 rotateY = HMM_Rotate(HMM_PI32 / 2.0f * time, HMM_Vec3(0.0f, 1.0f, 0.0f));
|
||||
hmm_mat4 rotate = HMM_MultiplyMat4(rotateY, rotateZ);
|
||||
hmm_mat4 translate = HMM_Translate(HMM_Vec3(-0.5f + 0.5f * i, -0.5f + 0.5f * j, 0.0f));
|
||||
hmm_mat4 m = HMM_MultiplyMat4(translate, HMM_MultiplyMat4(rotate, scale));
|
||||
|
||||
hmm_mat4 v = HMM_Translate(HMM_Vec3(0.0f, 0.0f, -1.0f));
|
||||
|
||||
hmm_mat4 p = HMM_Perspective(HMM_PI32 / 2.0f, 1.0f, 0.01f, 10.0f);
|
||||
|
||||
uniforms_t uniforms = {
|
||||
.mvp = HMM_MultiplyMat4(p, HMM_MultiplyMat4(v, m)),
|
||||
.color = HMM_Vec4((i + j) + 1 & 2, ((i + j) % 2) == 1, ((i + j) % 4) == 2, 1.0f),
|
||||
};
|
||||
|
||||
sg_apply_pipeline(pip);
|
||||
sg_apply_bindings(&model.bindings);
|
||||
sg_apply_uniforms(SG_SHADERSTAGE_VS, 0, &uniforms, sizeof(uniforms));
|
||||
sg_draw(0, model.numVerts, 1);
|
||||
}
|
||||
}
|
||||
|
||||
sg_end_pass();
|
||||
sg_commit();
|
||||
glfwSwapBuffers(w);
|
||||
glfwPollEvents();
|
||||
}
|
||||
|
||||
/* cleanup */
|
||||
sg_shutdown();
|
||||
glfwTerminate();
|
||||
return 0;
|
||||
}
|
||||
11943
example/src/sokol_gfx.h
11943
example/src/sokol_gfx.h
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,2 @@
|
||||
#ifndef WITHOUT_COVERAGE
|
||||
#include "HandmadeTest.h"
|
||||
#endif
|
||||
|
||||
#define HANDMADE_MATH_IMPLEMENTATION
|
||||
#include "../HandmadeMath.h"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#define HMM_PREFIX(name) WOW_##name
|
||||
|
||||
#define HANDMADE_MATH_IMPLEMENTATION
|
||||
#define HANDMADE_MATH_NO_INLINE
|
||||
#include "../HandmadeMath.h"
|
||||
|
||||
int main() {
|
||||
hmm_vec4 a = WOW_Vec4(1, 2, 3, 4);
|
||||
hmm_vec4 b = WOW_Vec4(5, 6, 7, 8);
|
||||
|
||||
WOW_Add(a, b);
|
||||
}
|
||||
@@ -1,398 +1,104 @@
|
||||
/*
|
||||
HandmadeTest.h
|
||||
|
||||
This is Handmade Math's test framework. It is fully compatible with both C
|
||||
and C++, although it requires some compiler-specific features.
|
||||
|
||||
To use Handmade Test, you must #define HANDMADE_TEST_IMPLEMENTATION in
|
||||
exactly one C or C++ file that includes the header, like this:
|
||||
|
||||
#define HANDMADE_TEST_IMPLEMENTATION
|
||||
#include "HandmadeTest.h"
|
||||
|
||||
The basic way of creating a test is using the TEST macro, which registers a
|
||||
single test to be run:
|
||||
|
||||
TEST(MyCategory, MyTestName) {
|
||||
// test code, including asserts/expects
|
||||
}
|
||||
|
||||
Handmade Test also provides macros you can use to check the coverage of
|
||||
important parts of your code. Define a coverage case by using the COVERAGE
|
||||
macro outside the function you wish to test, providing both a name and the
|
||||
number of asserts you expect to see covered over the course of your test.
|
||||
Then use the ASSERT_COVERED macro in every part of the function you wish to
|
||||
check coverage on. For example:
|
||||
|
||||
COVERAGE(MyCoverageCase, 3)
|
||||
void MyFunction(int a, int b) {
|
||||
if (a > b) {
|
||||
ASSERT_COVERED(MyCoverageCase);
|
||||
return 10;
|
||||
} else if (a < b) {
|
||||
ASSERT_COVERED(MyCoverageCase);
|
||||
return -10;
|
||||
}
|
||||
|
||||
ASSERT_COVERED(MyCoverageCase);
|
||||
return 0;
|
||||
}
|
||||
|
||||
The main function of your test code should then call hmt_run_all_tests (and
|
||||
optionally hmt_check_all_coverage) and return the result:
|
||||
|
||||
int main() {
|
||||
return hmt_run_all_tests() || hmt_check_all_coverage();
|
||||
}
|
||||
|
||||
=============================================================================
|
||||
|
||||
If Handmade Test's macros are conflicting with existing macros in your
|
||||
project, you may define HMT_SAFE_MACROS before you include HandmadeTest.h.
|
||||
You may then prefix each macro with HMT_. For example, you may use HMT_TEST
|
||||
instead of TEST and HMT_EXPECT_TRUE instead of EXPECT_TRUE.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef HANDMADETEST_H
|
||||
#define HANDMADETEST_H
|
||||
|
||||
#include <float.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "initializer.h"
|
||||
int hmt_count_tests = 0;
|
||||
int hmt_count_failedtests = 0;
|
||||
int hmt_count_failures = 0;
|
||||
|
||||
#define HMT_RESET "\033[0m"
|
||||
#define HMT_RED "\033[31m"
|
||||
#define HMT_GREEN "\033[32m"
|
||||
#define RESET "\033[0m"
|
||||
#define RED "\033[31m"
|
||||
#define GREEN "\033[32m"
|
||||
|
||||
#define HMT_ARRAY_SIZE 1024
|
||||
#define CATEGORY_BEGIN(name) { \
|
||||
int count_categorytests = 0; \
|
||||
int count_categoryfailedtests = 0; \
|
||||
int count_categoryfailures = 0; \
|
||||
printf("\n" #name ":\n");
|
||||
#define CATEGORY_END(name) \
|
||||
hmt_count_tests += count_categorytests; \
|
||||
hmt_count_failedtests += count_categoryfailedtests; \
|
||||
hmt_count_failures += count_categoryfailures; \
|
||||
printf("%d/%d tests passed, %d failures\n", count_categorytests - count_categoryfailedtests, count_categorytests, count_categoryfailures); \
|
||||
}
|
||||
|
||||
typedef struct hmt_testresult_struct {
|
||||
int count_cases;
|
||||
int count_failures;
|
||||
} hmt_testresult;
|
||||
#define TEST_BEGIN(name) { \
|
||||
int count_testcases = 0, count_testfailures = 0; \
|
||||
count_categorytests++; \
|
||||
printf(" " #name ":");
|
||||
#define TEST_END() \
|
||||
count_categoryfailures += count_testfailures; \
|
||||
if (count_testfailures > 0) { \
|
||||
count_categoryfailedtests++; \
|
||||
printf("\n " RED "(%d/%d passed)" RESET, count_testcases - count_testfailures, count_testcases); \
|
||||
printf("\n"); \
|
||||
} else { \
|
||||
printf(GREEN " [PASS] (%d/%d passed) \n" RESET, count_testcases - count_testfailures, count_testcases); \
|
||||
} \
|
||||
}
|
||||
|
||||
typedef void (*hmt_test_func)(hmt_testresult*);
|
||||
#define CASE_START() \
|
||||
count_testcases++;
|
||||
|
||||
typedef struct hmt_test_struct {
|
||||
const char* name;
|
||||
hmt_test_func func;
|
||||
} hmt_test;
|
||||
|
||||
typedef struct hmt_category_struct {
|
||||
const char* name;
|
||||
int num_tests;
|
||||
hmt_test* tests;
|
||||
} hmt_category;
|
||||
|
||||
typedef struct hmt_covercase_struct {
|
||||
const char* name;
|
||||
int expected_asserts;
|
||||
int actual_asserts;
|
||||
int* asserted_lines;
|
||||
} hmt_covercase;
|
||||
|
||||
hmt_category _hmt_new_category(const char* name);
|
||||
hmt_test _hmt_new_test(const char* name, hmt_test_func func);
|
||||
hmt_covercase _hmt_new_covercase(const char* name, int expected);
|
||||
void _hmt_register_test(const char* category, const char* name, hmt_test_func func);
|
||||
void _hmt_register_covercase(const char* name, const char* expected_asserts);
|
||||
void _hmt_count_cover(const char* name, int line);
|
||||
|
||||
#define _HMT_TEST_FUNCNAME(category, name) _hmt_test_ ## category ## _ ## name
|
||||
#define _HMT_TEST_FUNCNAME_INIT(category, name) _hmt_test_ ## category ## _ ## name ## _init
|
||||
#define _HMT_COVERCASE_FUNCNAME_INIT(name) _hmt_covercase_ ## name ## _init
|
||||
|
||||
#define HMT_TEST(category, name) \
|
||||
void _HMT_TEST_FUNCNAME(category, name)(hmt_testresult* _result); \
|
||||
INITIALIZER(_HMT_TEST_FUNCNAME_INIT(category, name)) { \
|
||||
_hmt_register_test(#category, #name, _HMT_TEST_FUNCNAME(category, name)); \
|
||||
} \
|
||||
void _HMT_TEST_FUNCNAME(category, name)(hmt_testresult* _result)
|
||||
|
||||
#define _HMT_CASE_START() \
|
||||
_result->count_cases++;
|
||||
|
||||
#define _HMT_CASE_FAIL() \
|
||||
_result->count_failures++; \
|
||||
printf("\n - " HMT_RED "[FAIL] (line %d) " HMT_RESET, __LINE__);
|
||||
|
||||
#define HMT_COVERAGE(name, num_asserts) \
|
||||
INITIALIZER(_HMT_COVERCASE_FUNCNAME_INIT(name)) { \
|
||||
_hmt_register_covercase(#name, #num_asserts); \
|
||||
} \
|
||||
|
||||
#define HMT_ASSERT_COVERED(name) \
|
||||
{ \
|
||||
_hmt_count_cover(#name, __LINE__); \
|
||||
} \
|
||||
#define CASE_FAIL() \
|
||||
count_testfailures++; \
|
||||
printf("\n - " RED "[FAIL] (%d) " RESET, __LINE__);
|
||||
|
||||
/*
|
||||
* Asserts and expects
|
||||
*/
|
||||
#define HMT_EXPECT_TRUE(_actual) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_TRUE(_actual) do { \
|
||||
CASE_START(); \
|
||||
if (!(_actual)) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected true but got something false"); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define HMT_EXPECT_FALSE(_actual) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_FALSE(_actual) do { \
|
||||
CASE_START(); \
|
||||
if (_actual) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected false but got something true"); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define HMT_EXPECT_FLOAT_EQ(_actual, _expected) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_FLOAT_EQ(_actual, _expected) do { \
|
||||
CASE_START(); \
|
||||
float actual = (_actual); \
|
||||
float diff = actual - (_expected); \
|
||||
if (diff < -FLT_EPSILON || FLT_EPSILON < diff) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected %f, got %f", (_expected), actual); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define HMT_EXPECT_NEAR(_actual, _expected, _epsilon) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_NEAR(_actual, _expected, _epsilon) do { \
|
||||
CASE_START(); \
|
||||
float actual = (_actual); \
|
||||
float diff = actual - (_expected); \
|
||||
if (diff < -(_epsilon) || (_epsilon) < diff) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected %f, got %f", (_expected), actual); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define HMT_EXPECT_LT(_actual, _expected) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_LT(_actual, _expected) do { \
|
||||
CASE_START(); \
|
||||
if ((_actual) >= (_expected)) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected %f to be less than %f", (_actual), (_expected)); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define HMT_EXPECT_GT(_actual, _expected) { \
|
||||
_HMT_CASE_START(); \
|
||||
#define EXPECT_GT(_actual, _expected) do { \
|
||||
CASE_START(); \
|
||||
if ((_actual) <= (_expected)) { \
|
||||
_HMT_CASE_FAIL(); \
|
||||
CASE_FAIL(); \
|
||||
printf("Expected %f to be greater than %f", (_actual), (_expected)); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#ifndef HMT_SAFE_MACROS
|
||||
// Friendly defines
|
||||
#define TEST(category, name) HMT_TEST(category, name)
|
||||
#define COVERAGE(name, expected_asserts) HMT_COVERAGE(name, expected_asserts)
|
||||
#define ASSERT_COVERED(name) HMT_ASSERT_COVERED(name)
|
||||
#define EXPECT_TRUE(_actual) HMT_EXPECT_TRUE(_actual)
|
||||
#define EXPECT_FALSE(_actual) HMT_EXPECT_FALSE(_actual)
|
||||
#define EXPECT_FLOAT_EQ(_actual, _expected) HMT_EXPECT_FLOAT_EQ(_actual, _expected)
|
||||
#define EXPECT_NEAR(_actual, _expected, _epsilon) HMT_EXPECT_NEAR(_actual, _expected, _epsilon)
|
||||
#define EXPECT_LT(_actual, _expected) HMT_EXPECT_LT(_actual, _expected)
|
||||
#define EXPECT_GT(_actual, _expected) HMT_EXPECT_GT(_actual, _expected)
|
||||
#endif // HMT_SAFE_MACROS
|
||||
|
||||
#endif // HANDMADETEST_H
|
||||
|
||||
#ifdef HANDMADE_TEST_IMPLEMENTATION
|
||||
|
||||
#ifndef HANDMADE_TEST_IMPLEMENTATION_GUARD
|
||||
#define HANDMADE_TEST_IMPLEMENTATION_GUARD
|
||||
|
||||
int _hmt_num_categories = 0;
|
||||
hmt_category* _hmt_categories = 0;
|
||||
|
||||
int _hmt_num_covercases = 0;
|
||||
hmt_covercase* _hmt_covercases = 0;
|
||||
|
||||
hmt_category _hmt_new_category(const char* name) {
|
||||
hmt_category cat = {
|
||||
name, // name
|
||||
0, // num_tests
|
||||
(hmt_test*) malloc(HMT_ARRAY_SIZE * sizeof(hmt_test)), // tests
|
||||
};
|
||||
|
||||
return cat;
|
||||
}
|
||||
|
||||
hmt_test _hmt_new_test(const char* name, hmt_test_func func) {
|
||||
hmt_test test = {
|
||||
name, // name
|
||||
func, // func
|
||||
};
|
||||
|
||||
return test;
|
||||
}
|
||||
|
||||
hmt_covercase _hmt_new_covercase(const char* name, int expected) {
|
||||
hmt_covercase covercase = {
|
||||
name, // name
|
||||
expected, // expected_asserts
|
||||
0, // actual_asserts
|
||||
(int*) malloc(HMT_ARRAY_SIZE * sizeof(int)), // asserted_lines
|
||||
};
|
||||
|
||||
return covercase;
|
||||
}
|
||||
|
||||
void _hmt_register_test(const char* category, const char* name, hmt_test_func func) {
|
||||
// initialize categories array if not initialized
|
||||
if (!_hmt_categories) {
|
||||
_hmt_categories = (hmt_category*) malloc(HMT_ARRAY_SIZE * sizeof(hmt_category));
|
||||
}
|
||||
|
||||
// Find the matching category, if possible
|
||||
int cat_index;
|
||||
for (cat_index = 0; cat_index < _hmt_num_categories; cat_index++) {
|
||||
if (strcmp(_hmt_categories[cat_index].name, category) == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Add a new category if necessary
|
||||
if (cat_index >= _hmt_num_categories) {
|
||||
_hmt_categories[cat_index] = _hmt_new_category(category);
|
||||
_hmt_num_categories++;
|
||||
}
|
||||
|
||||
hmt_category* cat = &_hmt_categories[cat_index];
|
||||
|
||||
// Add the test to the category
|
||||
cat->tests[cat->num_tests] = _hmt_new_test(name, func);
|
||||
cat->num_tests++;
|
||||
}
|
||||
|
||||
void _hmt_register_covercase(const char* name, const char* expected_asserts) {
|
||||
// initialize cases array if not initialized
|
||||
if (!_hmt_covercases) {
|
||||
_hmt_covercases = (hmt_covercase*) malloc(HMT_ARRAY_SIZE * sizeof(hmt_covercase));
|
||||
}
|
||||
|
||||
// check for existing case with that name, because the macro can run multiple
|
||||
// times in different translation units
|
||||
for (int i = 0; i < _hmt_num_covercases; i++) {
|
||||
if (strcmp(_hmt_covercases[i].name, name) == 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
_hmt_covercases[_hmt_num_covercases] = _hmt_new_covercase(name, atoi(expected_asserts));
|
||||
_hmt_num_covercases++;
|
||||
}
|
||||
|
||||
hmt_covercase* _hmt_find_covercase(const char* name) {
|
||||
for (int i = 0; i < _hmt_num_covercases; i++) {
|
||||
if (strcmp(_hmt_covercases[i].name, name) == 0) {
|
||||
return &_hmt_covercases[i];
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void _hmt_count_cover(const char* name, int line) {
|
||||
hmt_covercase* covercase = _hmt_find_covercase(name);
|
||||
if (covercase == 0) {
|
||||
printf(HMT_RED "ERROR (line %d): Could not find coverage case with name \"%s\".\n" HMT_RESET, line, name);
|
||||
return;
|
||||
}
|
||||
|
||||
// see if this line has already been covered
|
||||
for (int i = 0; i < covercase->actual_asserts; i++) {
|
||||
if (covercase->asserted_lines[i] == line) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
covercase->asserted_lines[covercase->actual_asserts] = line;
|
||||
covercase->actual_asserts++;
|
||||
}
|
||||
|
||||
int hmt_run_all_tests() {
|
||||
int count_alltests = 0;
|
||||
int count_allfailedtests = 0; // failed test cases
|
||||
int count_allfailures = 0; // failed asserts
|
||||
|
||||
for (int i = 0; i < _hmt_num_categories; i++) {
|
||||
hmt_category cat = _hmt_categories[i];
|
||||
int count_catfailedtests = 0;
|
||||
int count_catfailures = 0;
|
||||
|
||||
printf("\n%s:\n", cat.name);
|
||||
|
||||
for (int j = 0; j < cat.num_tests; j++) {
|
||||
hmt_test test = cat.tests[j];
|
||||
|
||||
printf(" %s:", test.name);
|
||||
|
||||
hmt_testresult result = {
|
||||
0, // count_cases
|
||||
0, // count_failures
|
||||
};
|
||||
test.func(&result);
|
||||
|
||||
count_catfailures += result.count_failures;
|
||||
|
||||
if (result.count_failures > 0) {
|
||||
count_catfailedtests++;
|
||||
printf("\n " HMT_RED "(%d/%d passed)" HMT_RESET, result.count_cases - result.count_failures, result.count_cases);
|
||||
printf("\n");
|
||||
} else {
|
||||
printf(HMT_GREEN " [PASS] (%d/%d passed) \n" HMT_RESET, result.count_cases - result.count_failures, result.count_cases);
|
||||
}
|
||||
}
|
||||
|
||||
count_alltests += cat.num_tests;
|
||||
count_allfailedtests += count_catfailedtests;
|
||||
count_allfailures += count_catfailures;
|
||||
|
||||
printf("%d/%d tests passed, %d failures\n", cat.num_tests - count_catfailedtests, cat.num_tests, count_catfailures);
|
||||
}
|
||||
|
||||
if (count_allfailedtests > 0) {
|
||||
printf(HMT_RED);
|
||||
} else {
|
||||
printf(HMT_GREEN);
|
||||
}
|
||||
printf("\n%d/%d tests passed overall, %d failures\n" HMT_RESET, count_alltests - count_allfailedtests, count_alltests, count_allfailures);
|
||||
|
||||
printf("\n");
|
||||
|
||||
return (count_allfailedtests > 0);
|
||||
}
|
||||
|
||||
int hmt_check_all_coverage() {
|
||||
printf("Coverage:\n");
|
||||
|
||||
int count_failures = 0;
|
||||
|
||||
for (int i = 0; i < _hmt_num_covercases; i++) {
|
||||
hmt_covercase covercase = _hmt_covercases[i];
|
||||
|
||||
if (covercase.expected_asserts != covercase.actual_asserts) {
|
||||
count_failures++;
|
||||
printf("%s: " HMT_RED "FAIL (expected %d asserts, got %d)\n" HMT_RESET, covercase.name, covercase.expected_asserts, covercase.actual_asserts);
|
||||
}
|
||||
}
|
||||
|
||||
if (count_failures > 0) {
|
||||
printf("\n");
|
||||
printf(HMT_RED);
|
||||
} else {
|
||||
printf(HMT_GREEN);
|
||||
}
|
||||
printf("%d coverage cases tested, %d failures\n", _hmt_num_covercases, count_failures);
|
||||
printf(HMT_RESET);
|
||||
|
||||
printf("\n");
|
||||
|
||||
return (count_failures > 0);
|
||||
}
|
||||
|
||||
#endif // HANDMADE_TEST_IMPLEMENTATION_GUARD
|
||||
#endif // HANDMADE_TEST_IMPLEMENTATION
|
||||
#endif
|
||||
|
||||
@@ -1,85 +1,48 @@
|
||||
BUILD_DIR=./build
|
||||
ROOT_DIR=..
|
||||
|
||||
CXXFLAGS+=-g -Wall -Wextra -pthread -Wno-missing-braces -Wno-missing-field-initializers -Wfloat-equal
|
||||
CXXFLAGS+=-g -Wall -Wextra -pthread -Wno-missing-braces -Wno-missing-field-initializers
|
||||
|
||||
all: c c_no_sse cpp cpp_no_sse build_c_without_coverage build_cpp_without_coverage build_cpp_different_prefix
|
||||
|
||||
build_all: build_c build_c_no_sse build_cpp build_cpp_no_sse
|
||||
all: c c_no_sse cpp cpp_no_sse
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
rm -f hmm_test_c hmm_test_cpp hmm_test_c_no_sse hmm_test_cpp_no_sse *.o
|
||||
|
||||
c: build_c
|
||||
$(BUILD_DIR)/hmm_test_c
|
||||
|
||||
build_c: HandmadeMath.c test_impl
|
||||
c: $(ROOT_DIR)/test/HandmadeMath.c test_impl
|
||||
@echo "\nCompiling in C mode"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR)\
|
||||
&& $(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 \
|
||||
-c ../HandmadeMath.c ../hmm_test.c \
|
||||
-lm \
|
||||
&& $(CC) -ohmm_test_c HandmadeMath.o hmm_test.o -lm
|
||||
$(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 \
|
||||
-c $(ROOT_DIR)/test/HandmadeMath.c $(ROOT_DIR)/test/hmm_test.c \
|
||||
-lm
|
||||
$(CC) -ohmm_test_c HandmadeMath.o hmm_test.o -lm
|
||||
|
||||
c_no_sse: build_c_no_sse
|
||||
$(BUILD_DIR)/hmm_test_c_no_sse
|
||||
|
||||
build_c_no_sse: HandmadeMath.c test_impl
|
||||
c_no_sse: $(ROOT_DIR)/test/HandmadeMath.c test_impl
|
||||
@echo "\nCompiling in C mode (no SSE)"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 \
|
||||
$(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 \
|
||||
-DHANDMADE_MATH_NO_SSE \
|
||||
-c ../HandmadeMath.c ../hmm_test.c \
|
||||
-lm \
|
||||
&& $(CC) -ohmm_test_c_no_sse HandmadeMath.o hmm_test.o -lm
|
||||
-c $(ROOT_DIR)/test/HandmadeMath.c $(ROOT_DIR)/test/hmm_test.c \
|
||||
-lm
|
||||
$(CC) -ohmm_test_c_no_sse HandmadeMath.o hmm_test.o -lm
|
||||
|
||||
cpp: build_cpp
|
||||
$(BUILD_DIR)/hmm_test_cpp
|
||||
|
||||
build_cpp: HandmadeMath.cpp test_impl
|
||||
cpp: $(ROOT_DIR)/test/HandmadeMath.cpp test_impl
|
||||
@echo "\nCompiling in C++ mode"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp \
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp \
|
||||
-DHANDMADE_MATH_CPP_MODE \
|
||||
../HandmadeMath.cpp ../hmm_test.cpp
|
||||
$(ROOT_DIR)/test/HandmadeMath.cpp $(ROOT_DIR)/test/hmm_test.cpp
|
||||
|
||||
cpp_no_sse: build_cpp_no_sse
|
||||
$(BUILD_DIR)/hmm_test_cpp_no_sse
|
||||
|
||||
build_cpp_no_sse: HandmadeMath.cpp test_impl
|
||||
cpp_no_sse: $(ROOT_DIR)/test/HandmadeMath.cpp test_impl
|
||||
@echo "\nCompiling in C++ mode (no SSE)"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp_no_sse \
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp_no_sse \
|
||||
-DHANDMADE_MATH_CPP_MODE -DHANDMADE_MATH_NO_SSE \
|
||||
../HandmadeMath.cpp ../hmm_test.cpp
|
||||
$(ROOT_DIR)/test/HandmadeMath.cpp $(ROOT_DIR)/test/hmm_test.cpp
|
||||
|
||||
test_impl: hmm_test.cpp hmm_test.c
|
||||
test_impl: $(ROOT_DIR)/test/hmm_test.cpp $(ROOT_DIR)/test/hmm_test.c
|
||||
|
||||
build_c_without_coverage: HandmadeMath.c test_impl
|
||||
@echo "\nCompiling in C mode"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR)\
|
||||
&& $(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 \
|
||||
-DWITHOUT_COVERAGE \
|
||||
-c ../HandmadeMath.c ../hmm_test.c \
|
||||
-lm \
|
||||
&& $(CC) -ohmm_test_c HandmadeMath.o hmm_test.o -lm
|
||||
benchmark_c: $(ROOT_DIR)/test/benchmark.c
|
||||
$(CC) $(CPPFLAGS) $(CXXFLAGS) -std=c99 -D_POSIX_C_SOURCE=199309L \
|
||||
-c $(ROOT_DIR)/test/benchmark.c \
|
||||
-lm
|
||||
$(CC) -obenchmark_c benchmark.o -lm
|
||||
|
||||
build_cpp_without_coverage: HandmadeMath.cpp test_impl
|
||||
@echo "\nCompiling in C++ mode (no SSE)"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp_no_sse \
|
||||
-DHANDMADE_MATH_CPP_MODE -DWITHOUT_COVERAGE \
|
||||
../HandmadeMath.cpp ../hmm_test.cpp
|
||||
|
||||
build_cpp_different_prefix: HandmadeMath.cpp
|
||||
@echo "\nCompiling C++ with different prefix"
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cd $(BUILD_DIR) \
|
||||
&& $(CXX) $(CPPFLAGS) $(CXXFLAGS) -ohmm_test_cpp_different_prefix \
|
||||
-DHANDMADE_MATH_CPP_MODE -DDIFFERENT_PREFIX \
|
||||
../HandmadeMathDifferentPrefix.cpp
|
||||
benchmark_cpp: $(ROOT_DIR)/test/benchmark.cpp
|
||||
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -obenchmark_cpp -O3 \
|
||||
-DHANDMADE_MATH_CPP_MODE \
|
||||
$(ROOT_DIR)/test/benchmark.cpp
|
||||
|
||||
@@ -4,13 +4,8 @@ You can compile and run the tests yourself by running:
|
||||
|
||||
```
|
||||
make
|
||||
```
|
||||
|
||||
To run a specific test configuration, run one of:
|
||||
|
||||
```
|
||||
make c
|
||||
make c_no_sse
|
||||
make cpp
|
||||
make cpp_no_sse
|
||||
./hmm_test_c
|
||||
./hmm_test_c_no_sse
|
||||
./hmm_test_cpp
|
||||
./hmm_test_cpp_no_sse
|
||||
```
|
||||
|
||||
83
test/benchmark.c
Normal file
83
test/benchmark.c
Normal file
@@ -0,0 +1,83 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define HANDMADE_MATH_IMPLEMENTATION
|
||||
#define HANDMADE_MATH_NO_SSE
|
||||
#include "../HandmadeMath.h"
|
||||
|
||||
#define BILLION 1000000000L
|
||||
|
||||
#define NUM_CASES 5
|
||||
|
||||
long benchmark_vec4_add()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
hmm_vec4 a = HMM_Vec4(rand(), rand(), rand(), rand());
|
||||
hmm_vec4 b = HMM_Vec4(rand(), rand(), rand(), rand());
|
||||
|
||||
hmm_vec4 result = HMM_AddVec4(a, b);
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_matrix_transpose()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
hmm_mat4 a;
|
||||
for (int column = 0; column < 4; column++) {
|
||||
for (int row = 0; row < 4; row++) {
|
||||
a.Elements[column][row] = rand();
|
||||
}
|
||||
}
|
||||
|
||||
hmm_mat4 result = HMM_Transpose(a);
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_vec4_add();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
int main2()
|
||||
{
|
||||
printf("Sleeping for 10 seconds...\n");
|
||||
sleep(10);
|
||||
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_matrix_transpose();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
228
test/benchmark.cpp
Normal file
228
test/benchmark.cpp
Normal file
@@ -0,0 +1,228 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "glm/glm/glm.hpp"
|
||||
|
||||
#define HANDMADE_MATH_IMPLEMENTATION
|
||||
// #define HANDMADE_MATH_NO_SSE
|
||||
#include "../HandmadeMath.h"
|
||||
|
||||
#define BILLION 1000000000L
|
||||
|
||||
#define NUM_CASES 5
|
||||
|
||||
long benchmark_vec4_add()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
hmm_vec4 a = HMM_Vec4(rand(), rand(), rand(), rand());
|
||||
hmm_vec4 b = HMM_Vec4(rand(), rand(), rand(), rand());
|
||||
|
||||
hmm_vec4 result = HMM_AddVec4(a, b);
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_vec4_add_glm()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
glm::vec4 a(rand(), rand(), rand(), rand());
|
||||
glm::vec4 b(rand(), rand(), rand(), rand());
|
||||
|
||||
glm::vec4 result = a + b;
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_matrix_transpose()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
hmm_mat4 a;
|
||||
for (int column = 0; column < 4; column++) {
|
||||
for (int row = 0; row < 4; row++) {
|
||||
a.Elements[column][row] = rand();
|
||||
}
|
||||
}
|
||||
|
||||
hmm_mat4 result = HMM_Transpose(a);
|
||||
// hmm_mat4 result = a;
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_matrix_transpose_glm()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
glm::mat4 a;
|
||||
for (int column = 0; column < 4; column++) {
|
||||
for (int row = 0; row < 4; row++) {
|
||||
a[column][row] = rand();
|
||||
}
|
||||
}
|
||||
|
||||
glm::mat4 result = glm::transpose(a);
|
||||
// glm::mat4 result = a;
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_matrix_multiply()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
hmm_mat4 a, b;
|
||||
for (int column = 0; column < 4; column++) {
|
||||
for (int row = 0; row < 4; row++) {
|
||||
a.Elements[column][row] = rand();
|
||||
b.Elements[column][row] = rand();
|
||||
}
|
||||
}
|
||||
|
||||
hmm_mat4 result = HMM_MultiplyMat4(a, b);
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
// clock_gettime(CLOCK_MONOTONIC_RAW, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
long benchmark_matrix_multiply_glm()
|
||||
{
|
||||
struct timespec start, end;
|
||||
|
||||
srand(1);
|
||||
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &start);
|
||||
for (int i = 0; i < 100000000; i++) {
|
||||
glm::mat4 a, b;
|
||||
for (int column = 0; column < 4; column++) {
|
||||
for (int row = 0; row < 4; row++) {
|
||||
a[column][row] = rand();
|
||||
b[column][row] = rand();
|
||||
}
|
||||
}
|
||||
|
||||
glm::mat4 result = a * b;
|
||||
}
|
||||
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &end);
|
||||
|
||||
return BILLION * (end.tv_sec - start.tv_sec) + end.tv_nsec - start.tv_nsec;
|
||||
}
|
||||
|
||||
int main_add_hmm()
|
||||
// int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_vec4_add();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
int main_add_glm()
|
||||
// int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_vec4_add_glm();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
int main_transpose_hmm()
|
||||
// int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_matrix_transpose();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
int main_transpose_glm()
|
||||
// int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_matrix_transpose_glm();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
// int main_multiply_hmm()
|
||||
int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_matrix_multiply();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
|
||||
int main_multiply_glm()
|
||||
// int main()
|
||||
{
|
||||
long total = 0;
|
||||
for (int i = 0; i < NUM_CASES; i++) {
|
||||
long result = benchmark_matrix_multiply_glm();
|
||||
total += result;
|
||||
|
||||
printf("DURATION: %ld (%f seconds)\n", result, result / (float) BILLION);
|
||||
}
|
||||
|
||||
printf("AVERAGE: %ld (%f seconds)\n", total / NUM_CASES, total / (float) NUM_CASES / BILLION);
|
||||
}
|
||||
@@ -1,209 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Addition, Vec2)
|
||||
{
|
||||
hmm_vec2 v2_1 = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 v2_2 = HMM_Vec2(3.0f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_AddVec2(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Add(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2_1 + v2_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
|
||||
v2_1 += v2_2;
|
||||
EXPECT_FLOAT_EQ(v2_1.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v2_1.Y, 6.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Addition, Vec3)
|
||||
{
|
||||
hmm_vec3 v3_1 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v3_2 = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_AddVec3(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Add(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3_1 + v3_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
|
||||
v3_1 += v3_2;
|
||||
EXPECT_FLOAT_EQ(v3_1.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Y, 7.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Z, 9.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Addition, Vec4)
|
||||
{
|
||||
hmm_vec4 v4_1 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 v4_2 = HMM_Vec4(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_AddVec4(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Add(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4_1 + v4_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
|
||||
v4_1 += v4_2;
|
||||
EXPECT_FLOAT_EQ(v4_1.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.W, 12.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Addition, Mat4)
|
||||
{
|
||||
hmm_mat4 m4_1 = HMM_Mat4(); // will have 1 - 16
|
||||
hmm_mat4 m4_2 = HMM_Mat4(); // will have 17 - 32
|
||||
|
||||
// Fill the matrices
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_1.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_2.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_mat4 result = HMM_AddMat4(m4_1, m4_2);
|
||||
float Expected = 18.0f;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], Expected);
|
||||
Expected += 2.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_mat4 result = HMM_Add(m4_1, m4_2);
|
||||
float Expected = 18.0f;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], Expected);
|
||||
Expected += 2.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = m4_1 + m4_2;
|
||||
float Expected = 18.0f;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], Expected);
|
||||
Expected += 2.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m4_1 += m4_2;
|
||||
float Expected = 18.0f;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(m4_1.Elements[Column][Row], Expected);
|
||||
Expected += 2.0f;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Addition, Quaternion)
|
||||
{
|
||||
hmm_quaternion q1 = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion q2 = HMM_Quaternion(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_AddQuaternion(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Add(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = q1 + q2;
|
||||
EXPECT_FLOAT_EQ(result.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
|
||||
q1 += q2;
|
||||
EXPECT_FLOAT_EQ(q1.X, 6.0f);
|
||||
EXPECT_FLOAT_EQ(q1.Y, 8.0f);
|
||||
EXPECT_FLOAT_EQ(q1.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(q1.W, 12.0f);
|
||||
#endif
|
||||
}
|
||||
@@ -1,325 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Division, Vec2Vec2)
|
||||
{
|
||||
hmm_vec2 v2_1 = HMM_Vec2(1.0f, 3.0f);
|
||||
hmm_vec2 v2_2 = HMM_Vec2(2.0f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_DivideVec2(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Divide(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2_1 / v2_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
}
|
||||
|
||||
v2_1 /= v2_2;
|
||||
EXPECT_FLOAT_EQ(v2_1.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v2_1.Y, 0.75f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Vec2Scalar)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, 2.0f);
|
||||
float s = 2;
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_DivideVec2f(v2, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Divide(v2, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2 / s;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
}
|
||||
|
||||
v2 /= s;
|
||||
EXPECT_FLOAT_EQ(v2.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v2.Y, 1.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Vec3Vec3)
|
||||
{
|
||||
hmm_vec3 v3_1 = HMM_Vec3(1.0f, 3.0f, 5.0f);
|
||||
hmm_vec3 v3_2 = HMM_Vec3(2.0f, 4.0f, 0.5f);
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_DivideVec3(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Divide(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3_1 / v3_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
}
|
||||
|
||||
v3_1 /= v3_2;
|
||||
EXPECT_FLOAT_EQ(v3_1.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Z, 10.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Vec3Scalar)
|
||||
{
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
float s = 2;
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_DivideVec3f(v3, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Divide(v3, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3 / s;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
}
|
||||
|
||||
v3 /= s;
|
||||
EXPECT_FLOAT_EQ(v3.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v3.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Z, 1.5f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Vec4Vec4)
|
||||
{
|
||||
hmm_vec4 v4_1 = HMM_Vec4(1.0f, 3.0f, 5.0f, 1.0f);
|
||||
hmm_vec4 v4_2 = HMM_Vec4(2.0f, 4.0f, 0.5f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_DivideVec4(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.25f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Divide(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.25f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4_1 / v4_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.25f);
|
||||
}
|
||||
|
||||
v4_1 /= v4_2;
|
||||
EXPECT_FLOAT_EQ(v4_1.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Y, 0.75f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Z, 10.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.W, 0.25f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Vec4Scalar)
|
||||
{
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
float s = 2;
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_DivideVec4f(v4, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Divide(v4, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4 / s;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
|
||||
v4 /= s;
|
||||
EXPECT_FLOAT_EQ(v4.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(v4.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(v4.W, 2.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, Mat4Scalar)
|
||||
{
|
||||
hmm_mat4 m4 = HMM_Mat4(); // will have 1 - 16
|
||||
float s = 2;
|
||||
|
||||
// Fill the matrix
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_mat4 result = HMM_DivideMat4f(m4, s);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 2.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 3.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 4.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 5.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 6.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 7.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 8.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_mat4 result = HMM_Divide(m4, s);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 2.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 3.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 4.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 5.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 6.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 7.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 8.0f);
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = m4 / s;
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 2.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 3.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 4.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 5.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 6.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 7.5f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 8.0f);
|
||||
}
|
||||
|
||||
m4 /= s;
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][0], 0.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][1], 1.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][2], 1.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][3], 2.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][0], 2.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][2], 3.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][3], 4.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][0], 4.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][1], 5.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][2], 5.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][3], 6.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][0], 6.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][1], 7.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][2], 7.5f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][3], 8.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Division, QuaternionScalar)
|
||||
{
|
||||
hmm_quaternion q = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
float f = 2.0f;
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_DivideQuaternionF(q, f);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Divide(q, f);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = q / f;
|
||||
EXPECT_FLOAT_EQ(result.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(result.W, 2.0f);
|
||||
}
|
||||
|
||||
q /= f;
|
||||
EXPECT_FLOAT_EQ(q.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(q.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(q.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(q.W, 2.0f);
|
||||
#endif
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Equality, Vec2)
|
||||
{
|
||||
hmm_vec2 a = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 b = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 c = HMM_Vec2(3.0f, 4.0f);
|
||||
|
||||
EXPECT_TRUE(HMM_EqualsVec2(a, b));
|
||||
EXPECT_FALSE(HMM_EqualsVec2(a, c));
|
||||
|
||||
#ifdef __cplusplus
|
||||
EXPECT_TRUE(HMM_Equals(a, b));
|
||||
EXPECT_FALSE(HMM_Equals(a, c));
|
||||
|
||||
EXPECT_TRUE(a == b);
|
||||
EXPECT_FALSE(a == c);
|
||||
|
||||
EXPECT_FALSE(a != b);
|
||||
EXPECT_TRUE(a != c);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Equality, Vec3)
|
||||
{
|
||||
hmm_vec3 a = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 b = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 c = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
EXPECT_TRUE(HMM_EqualsVec3(a, b));
|
||||
EXPECT_FALSE(HMM_EqualsVec3(a, c));
|
||||
|
||||
#ifdef __cplusplus
|
||||
EXPECT_TRUE(HMM_Equals(a, b));
|
||||
EXPECT_FALSE(HMM_Equals(a, c));
|
||||
|
||||
EXPECT_TRUE(a == b);
|
||||
EXPECT_FALSE(a == c);
|
||||
|
||||
EXPECT_FALSE(a != b);
|
||||
EXPECT_TRUE(a != c);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Equality, Vec4)
|
||||
{
|
||||
hmm_vec4 a = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 b = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 c = HMM_Vec4(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
EXPECT_TRUE(HMM_EqualsVec4(a, b));
|
||||
EXPECT_FALSE(HMM_EqualsVec4(a, c));
|
||||
|
||||
#ifdef __cplusplus
|
||||
EXPECT_TRUE(HMM_Equals(a, b));
|
||||
EXPECT_FALSE(HMM_Equals(a, c));
|
||||
|
||||
EXPECT_TRUE(a == b);
|
||||
EXPECT_FALSE(a == c);
|
||||
|
||||
EXPECT_FALSE(a != b);
|
||||
EXPECT_TRUE(a != c);
|
||||
#endif
|
||||
}
|
||||
@@ -1,246 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Initialization, Vectors)
|
||||
{
|
||||
//
|
||||
// Test vec2
|
||||
//
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 v2i = HMM_Vec2i(1, 2);
|
||||
|
||||
EXPECT_FLOAT_EQ(v2.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2.U, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2.V, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Left, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Right, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Width, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Height, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Elements[1], 2.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v2[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2[1], 2.0f);
|
||||
#endif
|
||||
|
||||
EXPECT_FLOAT_EQ(v2i.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.U, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.V, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Left, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Right, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Width, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Height, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i.Elements[1], 2.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v2i[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v2i[1], 2.0f);
|
||||
#endif
|
||||
|
||||
//
|
||||
// Test vec3
|
||||
//
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v3i = HMM_Vec3i(1, 2, 3);
|
||||
|
||||
EXPECT_FLOAT_EQ(v3.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.U, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.V, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.W, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.R, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.G, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.B, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.YZ.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.YZ.Elements[1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.UV.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3.UV.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.VW.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3.VW.Elements[1], 3.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v3[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3[2], 3.0f);
|
||||
#endif
|
||||
|
||||
EXPECT_FLOAT_EQ(v3i.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.U, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.V, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.W, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.R, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.G, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.B, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.YZ.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.YZ.Elements[1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.UV.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.UV.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.VW.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i.VW.Elements[1], 3.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v3i[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v3i[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v3i[2], 3.0f);
|
||||
#endif
|
||||
|
||||
//
|
||||
// Test vec4
|
||||
//
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 v4i = HMM_Vec4i(1, 2, 3, 4);
|
||||
hmm_vec4 v4v = HMM_Vec4v(v3, 4.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(v4.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.W, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4.R, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.G, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.B, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.A, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.YZ.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.YZ.Elements[1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.ZW.Elements[0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.ZW.Elements[1], 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XYZ.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XYZ.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.XYZ.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.RGB.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4.RGB.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4.RGB.Elements[2], 3.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v4[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4[3], 4.0f);
|
||||
#endif
|
||||
|
||||
EXPECT_FLOAT_EQ(v4i.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.W, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.R, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.G, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.B, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.A, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.YZ.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.YZ.Elements[1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.ZW.Elements[0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.ZW.Elements[1], 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XYZ.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XYZ.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.XYZ.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.RGB.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.RGB.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i.RGB.Elements[2], 3.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v4i[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4i[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4i[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4i[3], 4.0f);
|
||||
#endif
|
||||
|
||||
EXPECT_FLOAT_EQ(v4v.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.W, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.R, 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.G, 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.B, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.A, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.YZ.Elements[0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.YZ.Elements[1], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.ZW.Elements[0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.ZW.Elements[1], 4.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XY.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XY.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XYZ.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XYZ.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.XYZ.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.RGB.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.RGB.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v.RGB.Elements[2], 3.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(v4v[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(v4v[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(v4v[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4v[3], 4.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Initialization, MatrixEmpty)
|
||||
{
|
||||
hmm_mat4 m4 = HMM_Mat4();
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(m4.Elements[Column][Row], 0.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(m4[Column][Row], 0.0f);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Initialization, MatrixDiagonal)
|
||||
{
|
||||
hmm_mat4 m4d = HMM_Mat4d(1.0f);
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
if (Column == Row) {
|
||||
EXPECT_FLOAT_EQ(m4d.Elements[Column][Row], 1.0f);
|
||||
} else {
|
||||
EXPECT_FLOAT_EQ(m4d.Elements[Column][Row], 0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Initialization, Quaternion)
|
||||
{
|
||||
hmm_quaternion q = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(q.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(q.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(q.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(q.W, 4.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(q.Elements[0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(q.Elements[1], 2.0f);
|
||||
EXPECT_FLOAT_EQ(q.Elements[2], 3.0f);
|
||||
EXPECT_FLOAT_EQ(q.Elements[3], 4.0f);
|
||||
|
||||
hmm_vec4 v = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion qv = HMM_QuaternionV4(v);
|
||||
|
||||
EXPECT_FLOAT_EQ(qv.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(qv.Y, 2.0f);
|
||||
EXPECT_FLOAT_EQ(qv.Z, 3.0f);
|
||||
EXPECT_FLOAT_EQ(qv.W, 4.0f);
|
||||
}
|
||||
@@ -1,536 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Multiplication, Vec2Vec2)
|
||||
{
|
||||
hmm_vec2 v2_1 = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 v2_2 = HMM_Vec2(3.0f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_MultiplyVec2(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Multiply(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2_1 * v2_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 8.0f);
|
||||
}
|
||||
|
||||
v2_1 *= v2_2;
|
||||
EXPECT_FLOAT_EQ(v2_1.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v2_1.Y, 8.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Vec2Scalar)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, 2.0f);
|
||||
float s = 3.0f;
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_MultiplyVec2f(v2, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Multiply(v2, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2 * s;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = s * v2;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
}
|
||||
|
||||
v2 *= s;
|
||||
EXPECT_FLOAT_EQ(v2.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v2.Y, 6.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Vec3Vec3)
|
||||
{
|
||||
hmm_vec3 v3_1 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v3_2 = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_MultiplyVec3(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 18.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Multiply(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 18.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3_1 * v3_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 18.0f);
|
||||
}
|
||||
|
||||
v3_1 *= v3_2;
|
||||
EXPECT_FLOAT_EQ(v3_1.X, 4.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Y, 10.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Z, 18.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Vec3Scalar)
|
||||
{
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
float s = 3.0f;
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_MultiplyVec3f(v3, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Multiply(v3, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3 * s;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = s * v3;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
}
|
||||
|
||||
v3 *= s;
|
||||
EXPECT_FLOAT_EQ(v3.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(v3.Z, 9.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Vec4Vec4)
|
||||
{
|
||||
hmm_vec4 v4_1 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 v4_2 = HMM_Vec4(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_MultiplyVec4(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 32.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Multiply(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 32.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4_1 * v4_2;
|
||||
EXPECT_FLOAT_EQ(result.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 32.0f);
|
||||
}
|
||||
|
||||
v4_1 *= v4_2;
|
||||
EXPECT_FLOAT_EQ(v4_1.X, 5.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Y, 12.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Z, 21.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.W, 32.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Vec4Scalar)
|
||||
{
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
float s = 3.0f;
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_MultiplyVec4f(v4, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Multiply(v4, s);
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4 * s;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = s * v4;
|
||||
EXPECT_FLOAT_EQ(result.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 12.0f);
|
||||
}
|
||||
|
||||
v4 *= s;
|
||||
EXPECT_FLOAT_EQ(v4.X, 3.0f);
|
||||
EXPECT_FLOAT_EQ(v4.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(v4.Z, 9.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Mat4Mat4)
|
||||
{
|
||||
hmm_mat4 m4_1 = HMM_Mat4(); // will have 1 - 16
|
||||
hmm_mat4 m4_2 = HMM_Mat4(); // will have 17 - 32
|
||||
|
||||
// Fill the matrices
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_1.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_2.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_mat4 result = HMM_MultiplyMat4(m4_1, m4_2);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 538.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 612.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 686.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 760.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 650.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 740.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 830.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 920.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 762.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 868.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 974.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 1080.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 874.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 996.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 1118.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 1240.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_mat4 result = HMM_Multiply(m4_1, m4_2);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 538.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 612.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 686.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 760.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 650.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 740.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 830.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 920.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 762.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 868.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 974.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 1080.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 874.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 996.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 1118.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 1240.0f);
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = m4_1 * m4_2;
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 538.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 612.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 686.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 760.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 650.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 740.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 830.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 920.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 762.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 868.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 974.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 1080.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 874.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 996.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 1118.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 1240.0f);
|
||||
}
|
||||
|
||||
// At the time I wrote this, I intentionally omitted
|
||||
// the *= operator for matrices because matrix
|
||||
// multiplication is not commutative. (bvisness)
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Mat4Scalar)
|
||||
{
|
||||
hmm_mat4 m4 = HMM_Mat4(); // will have 1 - 16
|
||||
float s = 3;
|
||||
|
||||
// Fill the matrix
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_mat4 result = HMM_MultiplyMat4f(m4, s);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 15.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 18.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 27.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 30.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 33.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 36.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 39.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 42.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 45.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 48.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_mat4 result = HMM_Multiply(m4, s);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 15.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 18.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 27.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 30.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 33.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 36.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 39.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 42.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 45.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 48.0f);
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = m4 * s;
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 15.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 18.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 27.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 30.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 33.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 36.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 39.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 42.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 45.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 48.0f);
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = s * m4;
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 15.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 18.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 21.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 27.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 30.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 33.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 36.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 39.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 42.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 45.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 48.0f);
|
||||
}
|
||||
|
||||
m4 *= s;
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[0][3], 12.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][0], 15.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][1], 18.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][2], 21.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[1][3], 24.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][0], 27.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][1], 30.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][2], 33.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[2][3], 36.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][0], 39.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][1], 42.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][2], 45.0f);
|
||||
EXPECT_FLOAT_EQ(m4.Elements[3][3], 48.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, Mat4Vec4)
|
||||
{
|
||||
hmm_mat4 m4 = HMM_Mat4(); // will have 1 - 16
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
|
||||
// Fill the matrix
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_vec4 result = HMM_MultiplyMat4ByVec4(m4, v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 90.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 100.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 110.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 120.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Multiply(m4, v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 90.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 100.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 110.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 120.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = m4 * v4;
|
||||
EXPECT_FLOAT_EQ(result.X, 90.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 100.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 110.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 120.0f);
|
||||
}
|
||||
|
||||
// *= makes no sense for this particular case.
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, QuaternionQuaternion)
|
||||
{
|
||||
hmm_quaternion q1 = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion q2 = HMM_Quaternion(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_MultiplyQuaternion(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -6.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Multiply(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -6.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = q1 * q2;
|
||||
EXPECT_FLOAT_EQ(result.X, 24.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 48.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -6.0f);
|
||||
}
|
||||
|
||||
// Like with matrices, we're not implementing the *=
|
||||
// operator for quaternions because quaternion multiplication
|
||||
// is not commutative.
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Multiplication, QuaternionScalar)
|
||||
{
|
||||
hmm_quaternion q = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
float f = 2.0f;
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_MultiplyQuaternionF(q, f);
|
||||
EXPECT_FLOAT_EQ(result.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 8.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Multiply(q, f);
|
||||
EXPECT_FLOAT_EQ(result.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 8.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = q * f;
|
||||
EXPECT_FLOAT_EQ(result.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 8.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = f * q;
|
||||
EXPECT_FLOAT_EQ(result.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 8.0f);
|
||||
}
|
||||
|
||||
q *= f;
|
||||
EXPECT_FLOAT_EQ(q.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(q.Y, 4.0f);
|
||||
EXPECT_FLOAT_EQ(q.Z, 6.0f);
|
||||
EXPECT_FLOAT_EQ(q.W, 8.0f);
|
||||
#endif
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Projection, Orthographic)
|
||||
{
|
||||
hmm_mat4 projection = HMM_Orthographic(-10.0f, 10.0f, -5.0f, 5.0f, 0.0f, -10.0f);
|
||||
|
||||
hmm_vec3 original = HMM_Vec3(5.0f, 5.0f, -5.0f);
|
||||
hmm_vec4 projected = HMM_MultiplyMat4ByVec4(projection, HMM_Vec4v(original, 1));
|
||||
|
||||
EXPECT_FLOAT_EQ(projected.X, 0.5f);
|
||||
EXPECT_FLOAT_EQ(projected.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(projected.Z, -2.0f);
|
||||
EXPECT_FLOAT_EQ(projected.W, 1.0f);
|
||||
}
|
||||
|
||||
TEST(Projection, Perspective)
|
||||
{
|
||||
hmm_mat4 projection = HMM_Perspective(HMM_ToRadians(90.0f), 2.0f, 5.0f, 15.0f);
|
||||
|
||||
{
|
||||
hmm_vec3 original = HMM_Vec3(5.0f, 5.0f, -15.0f);
|
||||
hmm_vec4 projected = HMM_MultiplyMat4ByVec4(projection, HMM_Vec4v(original, 1));
|
||||
EXPECT_FLOAT_EQ(projected.X, 2.5f);
|
||||
EXPECT_FLOAT_EQ(projected.Y, 5.0f);
|
||||
EXPECT_FLOAT_EQ(projected.Z, 15.0f);
|
||||
EXPECT_FLOAT_EQ(projected.W, 15.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 original = HMM_Vec3(5.0f, 5.0f, -5.0f);
|
||||
hmm_vec4 projected = HMM_MultiplyMat4ByVec4(projection, HMM_Vec4v(original, 1));
|
||||
EXPECT_FLOAT_EQ(projected.X, 2.5f);
|
||||
EXPECT_FLOAT_EQ(projected.Y, 5.0f);
|
||||
EXPECT_FLOAT_EQ(projected.Z, -5.0f);
|
||||
EXPECT_FLOAT_EQ(projected.W, 5.0f);
|
||||
}
|
||||
}
|
||||
@@ -1,179 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(QuaternionOps, Inverse)
|
||||
{
|
||||
hmm_quaternion q1 = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion inverse = HMM_InverseQuaternion(q1);
|
||||
|
||||
hmm_quaternion result = HMM_MultiplyQuaternion(q1, inverse);
|
||||
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 1.0f);
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, Dot)
|
||||
{
|
||||
hmm_quaternion q1 = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion q2 = HMM_Quaternion(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
float result = HMM_DotQuaternion(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result, 70.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
float result = HMM_Dot(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result, 70.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, Normalize)
|
||||
{
|
||||
hmm_quaternion q = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_NormalizeQuaternion(q);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.1825741858f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.3651483717f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.5477225575f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.7302967433f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Normalize(q);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.1825741858f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.3651483717f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.5477225575f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.7302967433f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, NLerp)
|
||||
{
|
||||
hmm_quaternion from = HMM_Quaternion(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
hmm_quaternion to = HMM_Quaternion(0.5f, 0.5f, -0.5f, 0.5f);
|
||||
|
||||
hmm_quaternion result = HMM_NLerp(from, 0.5f, to);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.86602540f);
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, Slerp)
|
||||
{
|
||||
hmm_quaternion from = HMM_Quaternion(0.0f, 0.0f, 0.0f, 1.0f);
|
||||
hmm_quaternion to = HMM_Quaternion(0.5f, 0.5f, -0.5f, 0.5f);
|
||||
|
||||
hmm_quaternion result = HMM_Slerp(from, 0.5f, to);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -0.28867513f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.86602540f);
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, QuatToMat4)
|
||||
{
|
||||
const float abs_error = 0.0001f;
|
||||
|
||||
hmm_quaternion rot = HMM_Quaternion(0.707107f, 0.0f, 0.0f, 0.707107f);
|
||||
|
||||
hmm_mat4 result = HMM_QuaternionToMat4(rot);
|
||||
|
||||
EXPECT_NEAR(result.Elements[0][0], 1.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[0][1], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[0][2], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[0][3], 0.0f, abs_error);
|
||||
|
||||
EXPECT_NEAR(result.Elements[1][0], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[1][1], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[1][2], 1.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[1][3], 0.0f, abs_error);
|
||||
|
||||
EXPECT_NEAR(result.Elements[2][0], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[2][1], -1.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[2][2], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[2][3], 0.0f, abs_error);
|
||||
|
||||
EXPECT_NEAR(result.Elements[3][0], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[3][1], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[3][2], 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[3][3], 1.0f, abs_error);
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, Mat4ToQuat)
|
||||
{
|
||||
const float abs_error = 0.0001f;
|
||||
|
||||
// Rotate 90 degrees on the X axis
|
||||
{
|
||||
hmm_mat4 m = HMM_Rotate(HMM_ToRadians(90.0f), HMM_Vec3(1, 0, 0));
|
||||
hmm_quaternion result = HMM_Mat4ToQuaternion(m);
|
||||
|
||||
float cosf = 0.707107f; // cos(90/2 degrees)
|
||||
float sinf = 0.707107f; // sin(90/2 degrees)
|
||||
|
||||
EXPECT_NEAR(result.X, sinf, abs_error);
|
||||
EXPECT_NEAR(result.Y, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Z, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.W, cosf, abs_error);
|
||||
}
|
||||
|
||||
// Rotate 90 degrees on the Y axis (axis not normalized, just for fun)
|
||||
{
|
||||
hmm_mat4 m = HMM_Rotate(HMM_ToRadians(90.0f), HMM_Vec3(0, 2, 0));
|
||||
hmm_quaternion result = HMM_Mat4ToQuaternion(m);
|
||||
|
||||
float cosf = 0.707107f; // cos(90/2 degrees)
|
||||
float sinf = 0.707107f; // sin(90/2 degrees)
|
||||
|
||||
EXPECT_NEAR(result.X, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Y, sinf, abs_error);
|
||||
EXPECT_NEAR(result.Z, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.W, cosf, abs_error);
|
||||
}
|
||||
|
||||
// Rotate 90 degrees on the Z axis
|
||||
{
|
||||
hmm_mat4 m = HMM_Rotate(HMM_ToRadians(90.0f), HMM_Vec3(0, 0, 1));
|
||||
hmm_quaternion result = HMM_Mat4ToQuaternion(m);
|
||||
|
||||
float cosf = 0.707107f; // cos(90/2 degrees)
|
||||
float sinf = 0.707107f; // sin(90/2 degrees)
|
||||
|
||||
EXPECT_NEAR(result.X, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Y, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Z, sinf, abs_error);
|
||||
EXPECT_NEAR(result.W, cosf, abs_error);
|
||||
}
|
||||
|
||||
// Rotate 45 degrees on the X axis (this hits case 4)
|
||||
{
|
||||
hmm_mat4 m = HMM_Rotate(HMM_ToRadians(45.0f), HMM_Vec3(1, 0, 0));
|
||||
hmm_quaternion result = HMM_Mat4ToQuaternion(m);
|
||||
|
||||
float cosf = 0.9238795325f; // cos(90/2 degrees)
|
||||
float sinf = 0.3826834324f; // sin(90/2 degrees)
|
||||
|
||||
EXPECT_NEAR(result.X, sinf, abs_error);
|
||||
EXPECT_NEAR(result.Y, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.Z, 0.0f, abs_error);
|
||||
EXPECT_NEAR(result.W, cosf, abs_error);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(QuaternionOps, FromAxisAngle)
|
||||
{
|
||||
hmm_vec3 axis = HMM_Vec3(1.0f, 0.0f, 0.0f);
|
||||
float angle = HMM_PI32 / 2.0f;
|
||||
|
||||
hmm_quaternion result = HMM_QuaternionFromAxisAngle(axis, angle);
|
||||
EXPECT_NEAR(result.X, 0.707107f, FLT_EPSILON * 2);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_NEAR(result.W, 0.707107f, FLT_EPSILON * 2);
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
#ifdef HANDMADE_MATH__USE_SSE
|
||||
|
||||
TEST(SSE, LinearCombine)
|
||||
{
|
||||
hmm_mat4 MatrixOne = HMM_Mat4d(2.0f);
|
||||
hmm_mat4 MatrixTwo = HMM_Mat4d(4.0f);
|
||||
hmm_mat4 Result;
|
||||
|
||||
Result.Columns[0] = HMM_LinearCombineSSE(MatrixOne.Columns[0], MatrixTwo);
|
||||
Result.Columns[1] = HMM_LinearCombineSSE(MatrixOne.Columns[1], MatrixTwo);
|
||||
Result.Columns[2] = HMM_LinearCombineSSE(MatrixOne.Columns[2], MatrixTwo);
|
||||
Result.Columns[3] = HMM_LinearCombineSSE(MatrixOne.Columns[3], MatrixTwo);
|
||||
|
||||
{
|
||||
EXPECT_FLOAT_EQ(Result.Elements[0][0], 8.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[0][1], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[0][2], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[0][3], 0.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(Result.Elements[1][0], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[1][1], 8.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[1][2], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[1][3], 0.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(Result.Elements[2][0], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[2][1], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[2][2], 8.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[2][3], 0.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(Result.Elements[3][0], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[3][1], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[3][2], 0.0f);
|
||||
EXPECT_FLOAT_EQ(Result.Elements[3][3], 8.0f);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -1,101 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(ScalarMath, Trigonometry)
|
||||
{
|
||||
// We have to be a little looser with our equality constraint
|
||||
// because of floating-point precision issues.
|
||||
const float trigAbsError = 0.0001f;
|
||||
|
||||
EXPECT_NEAR(HMM_SinF(0.0f), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_SinF(HMM_PI32 / 2), 1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_SinF(HMM_PI32), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_SinF(3 * HMM_PI32 / 2), -1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_SinF(-HMM_PI32 / 2), -1.0f, trigAbsError);
|
||||
|
||||
EXPECT_NEAR(HMM_CosF(0.0f), 1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_CosF(HMM_PI32 / 2), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_CosF(HMM_PI32), -1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_CosF(3 * HMM_PI32 / 2), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_CosF(-HMM_PI32), -1.0f, trigAbsError);
|
||||
|
||||
EXPECT_NEAR(HMM_TanF(0.0f), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_TanF(HMM_PI32 / 4), 1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_TanF(3 * HMM_PI32 / 4), -1.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_TanF(HMM_PI32), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_TanF(-HMM_PI32 / 4), -1.0f, trigAbsError);
|
||||
|
||||
EXPECT_NEAR(HMM_ATanF(0.0f), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_ATanF(HMM_PI32), 1.2626272557f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_ATanF(-HMM_PI32), -1.2626272557f, trigAbsError);
|
||||
|
||||
EXPECT_NEAR(HMM_ATan2F(0.0f, 1.0f), 0.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_ATan2F(1.0f, 1.0f), HMM_PI32 / 4.0f, trigAbsError);
|
||||
EXPECT_NEAR(HMM_ATan2F(1.0f, 0.0f), HMM_PI32 / 2.0f, trigAbsError);
|
||||
|
||||
// This isn't the most rigorous because we're really just sanity-
|
||||
// checking that things work by default.
|
||||
}
|
||||
|
||||
TEST(ScalarMath, ToDegrees)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_ToDegrees(0.0f), 0.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_ToDegrees(HMM_PI32), 180.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_ToDegrees(-HMM_PI32), -180.0f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, ToRadians)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_ToRadians(0.0f), 0.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_ToRadians(180.0f), HMM_PI32);
|
||||
EXPECT_FLOAT_EQ(HMM_ToRadians(-180.0f), -HMM_PI32);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, ExpF)
|
||||
{
|
||||
EXPECT_NEAR(HMM_ExpF(0.0f), 1.0f, 0.0001f);
|
||||
EXPECT_NEAR(HMM_ExpF(1.0f), 2.7182818285f, 0.0001f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, LogF)
|
||||
{
|
||||
EXPECT_NEAR(HMM_LogF(1.0f), 0.0f, 0.0001f);
|
||||
EXPECT_NEAR(HMM_LogF(2.7182818285f), 1.0f, 0.0001f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, SquareRoot)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_SquareRootF(16.0f), 4.0f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, RSquareRootF)
|
||||
{
|
||||
EXPECT_NEAR(HMM_RSquareRootF(10.0f), 0.31616211f, 0.0001f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, Power)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_Power(2.0f, 0), 1.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Power(2.0f, 4), 16.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Power(2.0f, -2), 0.25f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, PowerF)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_PowerF(2.0f, 0.0f), 1.0f);
|
||||
EXPECT_NEAR(HMM_PowerF(2.0f, 4.1f), 17.148376f, 0.0001f);
|
||||
EXPECT_NEAR(HMM_PowerF(2.0f, -2.5f), 0.176777f, 0.0001f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, Lerp)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_Lerp(-2.0f, 0.0f, 2.0f), -2.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Lerp(-2.0f, 0.5f, 2.0f), 0.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Lerp(-2.0f, 1.0f, 2.0f), 2.0f);
|
||||
}
|
||||
|
||||
TEST(ScalarMath, Clamp)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(HMM_Clamp(-2.0f, 0.0f, 2.0f), 0.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Clamp(-2.0f, -3.0f, 2.0f), -2.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Clamp(-2.0f, 3.0f, 2.0f), 2.0f);
|
||||
}
|
||||
@@ -1,201 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Subtraction, Vec2)
|
||||
{
|
||||
hmm_vec2 v2_1 = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 v2_2 = HMM_Vec2(3.0f, 4.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_SubtractVec2(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -2.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Subtract(v2_1, v2_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -2.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec2 result = v2_1 - v2_2;
|
||||
EXPECT_FLOAT_EQ(result.X, -2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -2.0f);
|
||||
}
|
||||
|
||||
v2_1 -= v2_2;
|
||||
EXPECT_FLOAT_EQ(v2_1.X, -2.0f);
|
||||
EXPECT_FLOAT_EQ(v2_1.Y, -2.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Subtraction, Vec3)
|
||||
{
|
||||
hmm_vec3 v3_1 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v3_2 = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
{
|
||||
hmm_vec3 result = HMM_SubtractVec3(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -3.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec3 result = HMM_Subtract(v3_1, v3_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -3.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = v3_1 - v3_2;
|
||||
EXPECT_FLOAT_EQ(result.X, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -3.0f);
|
||||
}
|
||||
|
||||
v3_1 -= v3_2;
|
||||
EXPECT_FLOAT_EQ(v3_1.X, -3.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Y, -3.0f);
|
||||
EXPECT_FLOAT_EQ(v3_1.Z, -3.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Subtraction, Vec4)
|
||||
{
|
||||
hmm_vec4 v4_1 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 v4_2 = HMM_Vec4(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_vec4 result = HMM_SubtractVec4(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec4 result = HMM_Subtract(v4_1, v4_2);
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = v4_1 - v4_2;
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
|
||||
v4_1 -= v4_2;
|
||||
EXPECT_FLOAT_EQ(v4_1.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(v4_1.W, -4.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Subtraction, Mat4)
|
||||
{
|
||||
hmm_mat4 m4_1 = HMM_Mat4(); // will have 1 - 16
|
||||
hmm_mat4 m4_2 = HMM_Mat4(); // will have 17 - 32
|
||||
|
||||
// Fill the matrices
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_1.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4_2.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the results
|
||||
{
|
||||
hmm_mat4 result = HMM_SubtractMat4(m4_1, m4_2);
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], -16.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_mat4 result = HMM_Subtract(m4_1, m4_2);
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], -16.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
hmm_mat4 result = m4_1 - m4_2;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(result.Elements[Column][Row], -16.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m4_1 -= m4_2;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
EXPECT_FLOAT_EQ(m4_1.Elements[Column][Row], -16.0f);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(Subtraction, Quaternion)
|
||||
{
|
||||
hmm_quaternion q1 = HMM_Quaternion(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_quaternion q2 = HMM_Quaternion(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
{
|
||||
hmm_quaternion result = HMM_SubtractQuaternion(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_quaternion result = HMM_Subtract(q1, q2);
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
{
|
||||
hmm_quaternion result = q1 - q2;
|
||||
EXPECT_FLOAT_EQ(result.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, -4.0f);
|
||||
}
|
||||
|
||||
q1 -= q2;
|
||||
EXPECT_FLOAT_EQ(q1.X, -4.0f);
|
||||
EXPECT_FLOAT_EQ(q1.Y, -4.0f);
|
||||
EXPECT_FLOAT_EQ(q1.Z, -4.0f);
|
||||
EXPECT_FLOAT_EQ(q1.W, -4.0f);
|
||||
#endif
|
||||
}
|
||||
@@ -1,79 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(Transformations, Translate)
|
||||
{
|
||||
hmm_mat4 translate = HMM_Translate(HMM_Vec3(1.0f, -3.0f, 6.0f));
|
||||
|
||||
hmm_vec3 original = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec4 translated = HMM_MultiplyMat4ByVec4(translate, HMM_Vec4v(original, 1));
|
||||
|
||||
EXPECT_FLOAT_EQ(translated.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(translated.Y, -1.0f);
|
||||
EXPECT_FLOAT_EQ(translated.Z, 9.0f);
|
||||
EXPECT_FLOAT_EQ(translated.W, 1.0f);
|
||||
}
|
||||
|
||||
TEST(Transformations, Rotate)
|
||||
{
|
||||
hmm_vec3 original = HMM_Vec3(1.0f, 1.0f, 1.0f);
|
||||
|
||||
float angle = HMM_ToRadians(90.0f);
|
||||
|
||||
hmm_mat4 rotateX = HMM_Rotate(angle, HMM_Vec3(1, 0, 0));
|
||||
hmm_vec4 rotatedX = HMM_MultiplyMat4ByVec4(rotateX, HMM_Vec4v(original, 1));
|
||||
EXPECT_FLOAT_EQ(rotatedX.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedX.Y, -1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedX.Z, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedX.W, 1.0f);
|
||||
|
||||
hmm_mat4 rotateY = HMM_Rotate(angle, HMM_Vec3(0, 1, 0));
|
||||
hmm_vec4 rotatedY = HMM_MultiplyMat4ByVec4(rotateY, HMM_Vec4v(original, 1));
|
||||
EXPECT_FLOAT_EQ(rotatedY.X, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedY.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedY.Z, -1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedY.W, 1.0f);
|
||||
|
||||
hmm_mat4 rotateZ = HMM_Rotate(angle, HMM_Vec3(0, 0, 1));
|
||||
hmm_vec4 rotatedZ = HMM_MultiplyMat4ByVec4(rotateZ, HMM_Vec4v(original, 1));
|
||||
EXPECT_FLOAT_EQ(rotatedZ.X, -1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedZ.Y, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedZ.Z, 1.0f);
|
||||
EXPECT_FLOAT_EQ(rotatedZ.W, 1.0f);
|
||||
}
|
||||
|
||||
TEST(Transformations, Scale)
|
||||
{
|
||||
hmm_mat4 scale = HMM_Scale(HMM_Vec3(2.0f, -3.0f, 0.5f));
|
||||
|
||||
hmm_vec3 original = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec4 scaled = HMM_MultiplyMat4ByVec4(scale, HMM_Vec4v(original, 1));
|
||||
|
||||
EXPECT_FLOAT_EQ(scaled.X, 2.0f);
|
||||
EXPECT_FLOAT_EQ(scaled.Y, -6.0f);
|
||||
EXPECT_FLOAT_EQ(scaled.Z, 1.5f);
|
||||
EXPECT_FLOAT_EQ(scaled.W, 1.0f);
|
||||
}
|
||||
|
||||
TEST(Transformations, LookAt)
|
||||
{
|
||||
const float abs_error = 0.0001f;
|
||||
|
||||
hmm_mat4 result = HMM_LookAt(HMM_Vec3(1.0f, 0.0f, 0.0f), HMM_Vec3(0.0f, 2.0f, 1.0f), HMM_Vec3(2.0f, 1.0f, 1.0f));
|
||||
|
||||
EXPECT_NEAR(result.Elements[0][0], 0.169031f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[0][1], 0.897085f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[0][2], 0.408248f, abs_error);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 0.0f);
|
||||
EXPECT_NEAR(result.Elements[1][0], 0.507093f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[1][1], 0.276026f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[1][2], -0.816497f, abs_error);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 0.0f);
|
||||
EXPECT_NEAR(result.Elements[2][0], -0.845154f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[2][1], 0.345033f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[2][2], -0.408248f, abs_error);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 0.0f);
|
||||
EXPECT_NEAR(result.Elements[3][0], -0.169031f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[3][1], -0.897085f, abs_error);
|
||||
EXPECT_NEAR(result.Elements[3][2], -0.408248f, abs_error);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 1.0f);
|
||||
}
|
||||
@@ -1,320 +0,0 @@
|
||||
#include "../HandmadeTest.h"
|
||||
|
||||
TEST(VectorOps, LengthSquared)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, -2.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, -2.0f, 3.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, -2.0f, 3.0f, 1.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquaredVec2(v2), 5.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquaredVec3(v3), 14.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquaredVec4(v4), 15.0f);
|
||||
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquared(v2), 5.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquared(v3), 14.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthSquared(v4), 15.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, Length)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, -9.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(2.0f, -3.0f, 6.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(2.0f, -3.0f, 6.0f, 12.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec2(v2), 9.0553856f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec3(v3), 7.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec4(v4), 13.892444f);
|
||||
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(HMM_Length(v2), 9.0553856f);
|
||||
EXPECT_FLOAT_EQ(HMM_Length(v3), 7.0f);
|
||||
EXPECT_FLOAT_EQ(HMM_Length(v4), 13.892444f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, Normalize)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, -2.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, -2.0f, 3.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, -2.0f, 3.0f, -1.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_NormalizeVec2(v2);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec2(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_NormalizeVec3(v3);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec3(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_NormalizeVec4(v4);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec4(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
EXPECT_LT(result.W, 0.0f);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Normalize(v2);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec2(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_Normalize(v3);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec3(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_Normalize(v4);
|
||||
EXPECT_FLOAT_EQ(HMM_LengthVec4(result), 1.0f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
EXPECT_LT(result.W, 0.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, NormalizeZero)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(0.0f, 0.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(0.0f, 0.0f, 0.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_NormalizeVec2(v2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_NormalizeVec3(v3);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_NormalizeVec4(v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.0f);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_Normalize(v2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_Normalize(v3);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_Normalize(v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, FastNormalize)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(1.0f, -2.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(1.0f, -2.0f, 3.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(1.0f, -2.0f, 3.0f, -1.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_FastNormalizeVec2(v2);
|
||||
EXPECT_NEAR(HMM_LengthVec2(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_FastNormalizeVec3(v3);
|
||||
EXPECT_NEAR(HMM_LengthVec3(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_FastNormalizeVec4(v4);
|
||||
EXPECT_NEAR(HMM_LengthVec4(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
EXPECT_LT(result.W, 0.0f);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_FastNormalize(v2);
|
||||
EXPECT_NEAR(HMM_LengthVec2(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_FastNormalize(v3);
|
||||
EXPECT_NEAR(HMM_LengthVec3(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_FastNormalize(v4);
|
||||
EXPECT_NEAR(HMM_LengthVec4(result), 1.0f, 0.001f);
|
||||
EXPECT_GT(result.X, 0.0f);
|
||||
EXPECT_LT(result.Y, 0.0f);
|
||||
EXPECT_GT(result.Z, 0.0f);
|
||||
EXPECT_LT(result.W, 0.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, FastNormalizeZero)
|
||||
{
|
||||
hmm_vec2 v2 = HMM_Vec2(0.0f, 0.0f);
|
||||
hmm_vec3 v3 = HMM_Vec3(0.0f, 0.0f, 0.0f);
|
||||
hmm_vec4 v4 = HMM_Vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
{
|
||||
hmm_vec2 result = HMM_FastNormalizeVec2(v2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_FastNormalizeVec3(v3);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_FastNormalizeVec4(v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.0f);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
hmm_vec2 result = HMM_FastNormalize(v2);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec3 result = HMM_FastNormalize(v3);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
}
|
||||
{
|
||||
hmm_vec4 result = HMM_FastNormalize(v4);
|
||||
EXPECT_FLOAT_EQ(result.X, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, 0.0f);
|
||||
EXPECT_FLOAT_EQ(result.W, 0.0f);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, Cross)
|
||||
{
|
||||
hmm_vec3 v1 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v2 = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
hmm_vec3 result = HMM_Cross(v1, v2);
|
||||
|
||||
EXPECT_FLOAT_EQ(result.X, -3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Y, 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Z, -3.0f);
|
||||
}
|
||||
|
||||
TEST(VectorOps, DotVec2)
|
||||
{
|
||||
hmm_vec2 v1 = HMM_Vec2(1.0f, 2.0f);
|
||||
hmm_vec2 v2 = HMM_Vec2(3.0f, 4.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(HMM_DotVec2(v1, v2), 11.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(HMM_Dot(v1, v2), 11.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, DotVec3)
|
||||
{
|
||||
hmm_vec3 v1 = HMM_Vec3(1.0f, 2.0f, 3.0f);
|
||||
hmm_vec3 v2 = HMM_Vec3(4.0f, 5.0f, 6.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(HMM_DotVec3(v1, v2), 32.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(HMM_Dot(v1, v2), 32.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
TEST(VectorOps, DotVec4)
|
||||
{
|
||||
hmm_vec4 v1 = HMM_Vec4(1.0f, 2.0f, 3.0f, 4.0f);
|
||||
hmm_vec4 v2 = HMM_Vec4(5.0f, 6.0f, 7.0f, 8.0f);
|
||||
|
||||
EXPECT_FLOAT_EQ(HMM_DotVec4(v1, v2), 70.0f);
|
||||
#ifdef __cplusplus
|
||||
EXPECT_FLOAT_EQ(HMM_Dot(v1, v2), 70.0f);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* MatrixOps tests
|
||||
*/
|
||||
|
||||
TEST(MatrixOps, Transpose)
|
||||
{
|
||||
hmm_mat4 m4 = HMM_Mat4(); // will have 1 - 16
|
||||
|
||||
// Fill the matrix
|
||||
int Counter = 1;
|
||||
for (int Column = 0; Column < 4; ++Column)
|
||||
{
|
||||
for (int Row = 0; Row < 4; ++Row)
|
||||
{
|
||||
m4.Elements[Column][Row] = Counter;
|
||||
++Counter;
|
||||
}
|
||||
}
|
||||
|
||||
// Test the matrix
|
||||
hmm_mat4 result = HMM_Transpose(m4);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][0], 1.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][1], 5.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][2], 9.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[0][3], 13.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][0], 2.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][1], 6.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][2], 10.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[1][3], 14.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][0], 3.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][1], 7.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][2], 11.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[2][3], 15.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][0], 4.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][1], 8.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][2], 12.0f);
|
||||
EXPECT_FLOAT_EQ(result.Elements[3][3], 16.0f);
|
||||
}
|
||||
37
test/glm/.appveyor.yml
Normal file
37
test/glm/.appveyor.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
clone_folder: c:\dev\glm-cmake
|
||||
|
||||
os:
|
||||
- Visual Studio 2013
|
||||
- Visual Studio 2015
|
||||
- Visual Studio 2017
|
||||
|
||||
platform:
|
||||
- x86
|
||||
- x86_64
|
||||
|
||||
build_script:
|
||||
- cmake --version
|
||||
- md build_pure_11
|
||||
- cd build_pure_11
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake -E time cmake --build . --config Debug
|
||||
- cmake -E time cmake --build . --config Release
|
||||
- cd ..
|
||||
- md build_simd_11
|
||||
- cd build_simd_11
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON ..
|
||||
- cmake -E time cmake --build . --config Debug
|
||||
- cmake -E time cmake --build . --config Release
|
||||
- cd ..
|
||||
- md build_pure_98
|
||||
- cd build_pure_98
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake -E time cmake --build . --config Debug
|
||||
- cmake -E time cmake --build . --config Release
|
||||
- cd ..
|
||||
- md build_simd_98
|
||||
- cd build_simd_98
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON ..
|
||||
- cmake -E time cmake --build . --config Debug
|
||||
- cmake -E time cmake --build . --config Release
|
||||
- cd ..
|
||||
56
test/glm/.gitignore
vendored
Normal file
56
test/glm/.gitignore
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
|
||||
# Fortran module files
|
||||
*.mod
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
*.lib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
# CMake
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
cmake_install.cmake
|
||||
install_manifest.txt
|
||||
*.cmake
|
||||
# ^ May need to add future .cmake files as exceptions
|
||||
|
||||
# Test logs
|
||||
Testing/*
|
||||
|
||||
# Test input
|
||||
test/gtc/*.dds
|
||||
|
||||
# Project Files
|
||||
Makefile
|
||||
*.cbp
|
||||
*.user
|
||||
|
||||
# Misc.
|
||||
*.log
|
||||
|
||||
# local build(s)
|
||||
build*
|
||||
|
||||
/.vs
|
||||
/CMakeSettings.json
|
||||
100
test/glm/.travis.yml
Normal file
100
test/glm/.travis.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
language: cpp
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-4.9
|
||||
env: COMPILER=g++-4.9
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-7
|
||||
env: COMPILER=g++-7
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.6
|
||||
packages:
|
||||
- clang-3.6
|
||||
env: COMPILER=clang++-3.6
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- llvm-toolchain-trusty-4.0
|
||||
packages:
|
||||
- clang-4.0
|
||||
env: COMPILER=clang++-4.0
|
||||
compiler:
|
||||
- clang
|
||||
|
||||
before_script:
|
||||
|
||||
script:
|
||||
- cmake --version
|
||||
- mkdir ./build_pure_11
|
||||
- cd ./build_pure_11
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_pure_98
|
||||
- cd ./build_pure_98
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_pure_11_debug
|
||||
- cd ./build_pure_11_debug
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_pure_98_debug
|
||||
- cd ./build_pure_98_debug
|
||||
- cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON ..
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_simd_11
|
||||
- cd ./build_simd_11
|
||||
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_simd_98
|
||||
- cd ./build_simd_98
|
||||
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_simd_11_debug
|
||||
- cd ./build_simd_11_debug
|
||||
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
- mkdir ./build_simd_98_debug
|
||||
- cd ./build_simd_98_debug
|
||||
- if [[ $TRAVIS_OS_NAME == 'osx' ]]; then cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON ..; else cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON ..; fi
|
||||
- cmake -E time cmake --build .
|
||||
- ctest
|
||||
- cd ..
|
||||
|
||||
|
||||
|
||||
|
||||
223
test/glm/CMakeLists.txt
Normal file
223
test/glm/CMakeLists.txt
Normal file
@@ -0,0 +1,223 @@
|
||||
cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
|
||||
cmake_policy(VERSION 3.2)
|
||||
|
||||
set(GLM_VERSION "0.9.9")
|
||||
project(glm VERSION ${GLM_VERSION} LANGUAGES CXX)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
enable_testing()
|
||||
|
||||
option(GLM_STATIC_LIBRARY_ENABLE "GLM static library" OFF)
|
||||
if(GLM_STATIC_LIBRARY_ENABLE)
|
||||
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_STATIC_LIBRARY_ENABLE with ON to build an optional static library")
|
||||
endif()
|
||||
|
||||
option(GLM_DYNAMIC_LIBRARY_ENABLE "GLM dynamic library" OFF)
|
||||
if(GLM_DYNAMIC_LIBRARY_ENABLE)
|
||||
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_DYNAMIC_LIBRARY_ENABLE with ON to build an optional dynamic library")
|
||||
endif()
|
||||
|
||||
option(GLM_TEST_ENABLE "GLM test" OFF)
|
||||
if(NOT GLM_TEST_ENABLE)
|
||||
message(STATUS "GLM is a header only library, no need to build it. Set the option GLM_TEST_ENABLE with ON to build and run the test bench")
|
||||
endif()
|
||||
|
||||
option(GLM_TEST_ENABLE_CXX_98 "Enable C++ 98" OFF)
|
||||
option(GLM_TEST_ENABLE_CXX_11 "Enable C++ 11" OFF)
|
||||
option(GLM_TEST_ENABLE_CXX_14 "Enable C++ 14" OFF)
|
||||
option(GLM_TEST_ENABLE_CXX_17 "Enable C++ 17" OFF)
|
||||
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(GLM_TEST_ENABLE_CXX_17)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
message(STATUS "GLM: Build with C++17 features")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_CXX_14)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
message(STATUS "GLM: Build with C++14 features")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_CXX_11)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
message(STATUS "GLM: Build with C++11 features")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_CXX_98)
|
||||
set(CMAKE_CXX_STANDARD 98)
|
||||
message(STATUS "GLM: Build with C++98 features")
|
||||
endif()
|
||||
|
||||
option(GLM_TEST_ENABLE_LANG_EXTENSIONS "Enable language extensions" OFF)
|
||||
|
||||
if(GLM_TEST_ENABLE_LANG_EXTENSIONS)
|
||||
set(CMAKE_CXX_EXTENSIONS ON)
|
||||
|
||||
message(STATUS "GLM: Build with C++ language extensions")
|
||||
else()
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
endif()
|
||||
|
||||
option(GLM_TEST_ENABLE_FAST_MATH "Enable fast math optimizations" OFF)
|
||||
if(GLM_TEST_ENABLE_FAST_MATH)
|
||||
message(STATUS "GLM: Build with fast math optimizations")
|
||||
|
||||
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "GNU"))
|
||||
add_compile_options(-ffast-math)
|
||||
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
add_compile_options(/fp:fast)
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
add_compile_options(/fp:precise)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(GLM_TEST_ENABLE_SIMD_SSE2 "Enable SSE2 optimizations" OFF)
|
||||
option(GLM_TEST_ENABLE_SIMD_SSE3 "Enable SSE3 optimizations" OFF)
|
||||
option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
|
||||
option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
|
||||
option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
|
||||
|
||||
if(GLM_TEST_FORCE_PURE)
|
||||
add_definitions(-DGLM_FORCE_PURE)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
add_compile_options(-mfpmath=387)
|
||||
endif()
|
||||
message(STATUS "GLM: No SIMD instruction set")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_SIMD_AVX2)
|
||||
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
add_compile_options(-mavx2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
add_compile_options(/QxAVX2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
add_compile_options(/arch:AVX2)
|
||||
endif()
|
||||
message(STATUS "GLM: AVX2 instruction set")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_SIMD_AVX)
|
||||
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
add_compile_options(-mavx)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
add_compile_options(/QxAVX)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
add_compile_options(/arch:AVX)
|
||||
endif()
|
||||
message(STATUS "GLM: AVX instruction set")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_SIMD_SSE3)
|
||||
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
add_compile_options(-msse3)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
add_compile_options(/QxSSE3)
|
||||
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
|
||||
add_compile_options(/arch:SSE2) # VC doesn't support /arch:SSE3
|
||||
endif()
|
||||
message(STATUS "GLM: SSE3 instruction set")
|
||||
|
||||
elseif(GLM_TEST_ENABLE_SIMD_SSE2)
|
||||
if((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
|
||||
add_compile_options(-msse2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
add_compile_options(/QxSSE2)
|
||||
elseif((CMAKE_CXX_COMPILER_ID MATCHES "MSVC") AND NOT CMAKE_CL_64)
|
||||
add_compile_options(/arch:SSE2)
|
||||
endif()
|
||||
message(STATUS "GLM: SSE2 instruction set")
|
||||
endif()
|
||||
|
||||
# Compiler and default options
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
message("GLM: Clang - ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
add_compile_options(-Werror -Weverything)
|
||||
add_compile_options(-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++11-long-long -Wno-padded -Wno-gnu-anonymous-struct -Wno-nested-anon-types)
|
||||
add_compile_options(-Wno-undefined-reinterpret-cast -Wno-sign-conversion -Wno-unused-variable -Wno-missing-prototypes -Wno-unreachable-code -Wno-missing-variable-declarations -Wno-sign-compare -Wno-global-constructors -Wno-unused-macros -Wno-format-nonliteral)
|
||||
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
message("GLM: GCC - ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
add_compile_options(-O2)
|
||||
add_compile_options(-Wno-long-long)
|
||||
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
message("GLM: Intel - ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
message("GLM: Visual C++ - ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
add_compile_options(/FAs /W4 /WX)
|
||||
add_compile_options(/wd4309 /wd4324 /wd4389 /wd4127 /wd4267 /wd4146 /wd4201 /wd4464 /wd4514 /wd4701 /wd4820 /wd4365)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
|
||||
include_directories("${PROJECT_SOURCE_DIR}")
|
||||
|
||||
add_subdirectory(glm)
|
||||
add_subdirectory(test)
|
||||
|
||||
option(GLM_INSTALL_ENABLE "GLM install" ON)
|
||||
|
||||
set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
|
||||
if (GLM_INSTALL_ENABLE)
|
||||
install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
endif()
|
||||
|
||||
write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
|
||||
|
||||
# build tree package config
|
||||
configure_file(cmake/glmBuildConfig.cmake.in glmConfig.cmake @ONLY)
|
||||
|
||||
# install tree package config
|
||||
configure_package_config_file(
|
||||
cmake/glmConfig.cmake.in
|
||||
${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake
|
||||
INSTALL_DESTINATION ${GLM_INSTALL_CONFIGDIR}
|
||||
PATH_VARS CMAKE_INSTALL_INCLUDEDIR
|
||||
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
|
||||
|
||||
if(GLM_INSTALL_ENABLE)
|
||||
install(FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${GLM_INSTALL_CONFIGDIR}/glmConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake"
|
||||
DESTINATION ${GLM_INSTALL_CONFIGDIR})
|
||||
endif()
|
||||
|
||||
add_library(glm INTERFACE)
|
||||
target_include_directories(glm INTERFACE
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
||||
install(TARGETS glm EXPORT glmTargets)
|
||||
|
||||
export(EXPORT glmTargets FILE "${CMAKE_CURRENT_BINARY_DIR}/glmTargets.cmake")
|
||||
|
||||
if(GLM_INSTALL_ENABLE)
|
||||
install(EXPORT glmTargets FILE glmTargets.cmake DESTINATION ${GLM_INSTALL_CONFIGDIR})
|
||||
endif()
|
||||
|
||||
# build pkg-config file
|
||||
configure_file("./cmake/glm.pc.in" "glm.pc" @ONLY)
|
||||
|
||||
# install pkg-config file
|
||||
if (GLM_INSTALL_ENABLE)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glm.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
endif()
|
||||
|
||||
export(PACKAGE glm)
|
||||
|
||||
if(NOT TARGET uninstall)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
|
||||
IMMEDIATE @ONLY)
|
||||
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P
|
||||
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
||||
endif()
|
||||
7
test/glm/cmake/glm.pc.in
Normal file
7
test/glm/cmake/glm.pc.in
Normal file
@@ -0,0 +1,7 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: GLM
|
||||
Description: OpenGL Mathematics
|
||||
Version: @GLM_VERSION@
|
||||
Cflags: -I${includedir}
|
||||
6
test/glm/cmake/glmBuildConfig.cmake.in
Normal file
6
test/glm/cmake/glmBuildConfig.cmake.in
Normal file
@@ -0,0 +1,6 @@
|
||||
set(GLM_VERSION "@GLM_VERSION@")
|
||||
set(GLM_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@")
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
|
||||
endif()
|
||||
9
test/glm/cmake/glmConfig.cmake.in
Normal file
9
test/glm/cmake/glmConfig.cmake.in
Normal file
@@ -0,0 +1,9 @@
|
||||
set(GLM_VERSION "@GLM_VERSION@")
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
set_and_check(GLM_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
|
||||
|
||||
if (NOT CMAKE_VERSION VERSION_LESS "3.0")
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/glmTargets.cmake")
|
||||
endif()
|
||||
26
test/glm/cmake_uninstall.cmake.in
Normal file
26
test/glm/cmake_uninstall.cmake.in
Normal file
@@ -0,0 +1,26 @@
|
||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
if (NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set (CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
|
||||
endif ()
|
||||
message(${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
exec_program(
|
||||
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RETURN_VALUE rm_retval
|
||||
)
|
||||
if(NOT "${rm_retval}" STREQUAL 0)
|
||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||
endif(NOT "${rm_retval}" STREQUAL 0)
|
||||
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
endforeach(file)
|
||||
108
test/glm/doc/api/a00001.html
Normal file
108
test/glm/doc/api/a00001.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _features.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_features.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00001_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00001_source.html">_features.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
494
test/glm/doc/api/a00001_source.html
Normal file
494
test/glm/doc/api/a00001_source.html
Normal file
@@ -0,0 +1,494 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _features.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_features.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00001.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// #define GLM_CXX98_EXCEPTIONS</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// #define GLM_CXX98_RTTI</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// #define GLM_CXX11_RVALUE_REFERENCES</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// Rvalue references - GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html</span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// GLM_CXX11_TRAILING_RETURN</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// Rvalue references for *this - GCC not supported</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Initialization of class objects by rvalues - GCC any</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// Non-static data member initializers - GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// #define GLM_CXX11_VARIADIC_TEMPLATE</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// Variadic templates - GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// Extending variadic template template parameters - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// #define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// Initializer lists - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// #define GLM_CXX11_STATIC_ASSERT </span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// Static assertions - GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// auto-typed variables - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// Multi-declarator auto - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// Removal of auto as a storage-class specifier - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// #define GLM_CXX11_AUTO_TYPE</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// New function declarator syntax - GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm</span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// #define GLM_CXX11_LAMBDAS</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// New wording for C++0x lambdas - GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// #define GLM_CXX11_DECLTYPE</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment">// Declared type of an expression - GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf</span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// Right angle brackets - GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// Default template arguments for function templates DR226 GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226</span></div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// Solving the SFINAE problem for expressions DR339 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html</span></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// #define GLM_CXX11_ALIAS_TEMPLATE</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// Template aliases N2258 GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment">// Extern templates N1987 Yes</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm</span></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="comment">// #define GLM_CXX11_NULLPTR</span></div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// Null pointer constant N2431 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// #define GLM_CXX11_STRONG_ENUMS</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// Strongly-typed enums N2347 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// Forward declarations for enums N2764 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// Generalized attributes N2761 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment">// Generalized constant expressions N2235 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// Alignment support N2341 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf</span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// #define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">// Delegating constructors N1986 GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf</span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment">// Inheriting constructors N2540 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment">// #define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// Explicit conversion operators N2437 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf</span></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// New character types N2249 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment">// Unicode string literals N2442 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment">// Raw string literals N2442 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm</span></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment">// Universal character name literals N2170 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// #define GLM_CXX11_USER_LITERALS</span></div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// User-defined literals N2765 GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf</span></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment">// Standard Layout Types N2342 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm</span></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// #define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// #define GLM_CXX11_DELETED_FUNCTIONS</span></div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="comment">// Defaulted and deleted functions N2346 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm</span></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="comment">// Extended friend declarations N1791 GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf</span></div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment">// Extending sizeof N2253 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html</span></div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// #define GLM_CXX11_INLINE_NAMESPACES</span></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">// Inline namespaces N2535 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">// #define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment">// Unrestricted unions N2544 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf</span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment">// #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">// Local and unnamed types as template arguments N2657 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm</span></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">// #define GLM_CXX11_RANGE_FOR</span></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment">// Range-based for N2930 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html</span></div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment">// #define GLM_CXX11_OVERRIDE_CONTROL</span></div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// Explicit virtual overrides N2928 N3206 N3272 GCC 4.7</span></div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="comment">// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm</span></div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm</span></div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm</span></div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="comment">// Minimal support for garbage collection and reachability-based leak detection N2670 No</span></div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment">// #define GLM_CXX11_NOEXCEPT</span></div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment">// Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)</span></div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html</span></div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">// Defining move special member functions N3053 GCC 4.6</span></div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html</span></div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment">// Sequence points N2239 Yes</span></div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// Atomic operations N2427 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html</span></div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// Strong Compare and Exchange N2748 GCC 4.5</span></div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html</span></div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// Bidirectional Fences N2752 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm</span></div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment">// Memory model N2429 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm</span></div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// Data-dependency ordering: atomics and memory model N2664 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm</span></div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// Propagating exceptions N2179 GCC 4.4</span></div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html</span></div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment">// Abandoning a process and at_quick_exit N2440 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm</span></div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment">// Allow atomics use in signal handlers N2547 Yes</span></div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm</span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment">// Thread-local storage N2659 GCC 4.8</span></div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm</span></div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment">// Dynamic initialization and destruction with concurrency N2660 GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm</span></div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">// __func__ predefined identifier N2340 GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm</span></div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment">// C99 preprocessor N1653 GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm</span></div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// long long N1811 GCC 4.3</span></div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf</span></div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="comment">// Extended integral types N1988 Yes</span></div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf</span></div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor">#if(GLM_COMPILER & GLM_COMPILER_GCC)</span></div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"># define GLM_CXX11_STATIC_ASSERT</span></div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor">#elif(GLM_COMPILER & GLM_COMPILER_CLANG)</span></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"># if(__has_feature(cxx_exceptions))</span></div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"># define GLM_CXX98_EXCEPTIONS</span></div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"># if(__has_feature(cxx_rtti))</span></div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor"># define GLM_CXX98_RTTI</span></div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"># if(__has_feature(cxx_access_control_sfinae))</span></div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="preprocessor"># define GLM_CXX11_ACCESS_CONTROL_SFINAE</span></div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor"># if(__has_feature(cxx_alias_templates))</span></div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor"># define GLM_CXX11_ALIAS_TEMPLATE</span></div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor"># if(__has_feature(cxx_alignas))</span></div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"># define GLM_CXX11_ALIGNAS</span></div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"># if(__has_feature(cxx_attributes))</span></div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"># define GLM_CXX11_ATTRIBUTES</span></div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"># if(__has_feature(cxx_constexpr))</span></div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor"># define GLM_CXX11_CONSTEXPR</span></div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"># if(__has_feature(cxx_decltype))</span></div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor"># define GLM_CXX11_DECLTYPE</span></div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor"># if(__has_feature(cxx_default_function_template_args))</span></div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor"># define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS</span></div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor"># if(__has_feature(cxx_defaulted_functions))</span></div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="preprocessor"># define GLM_CXX11_DEFAULTED_FUNCTIONS</span></div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"># if(__has_feature(cxx_delegating_constructors))</span></div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"># define GLM_CXX11_DELEGATING_CONSTRUCTORS</span></div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"># if(__has_feature(cxx_deleted_functions))</span></div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"># define GLM_CXX11_DELETED_FUNCTIONS</span></div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor"># if(__has_feature(cxx_explicit_conversions))</span></div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"># define GLM_CXX11_EXPLICIT_CONVERSIONS</span></div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"># if(__has_feature(cxx_generalized_initializers))</span></div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"># define GLM_CXX11_GENERALIZED_INITIALIZERS</span></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"># if(__has_feature(cxx_implicit_moves))</span></div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor"># define GLM_CXX11_IMPLICIT_MOVES</span></div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"># if(__has_feature(cxx_inheriting_constructors))</span></div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor"># define GLM_CXX11_INHERITING_CONSTRUCTORS</span></div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"># if(__has_feature(cxx_inline_namespaces))</span></div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"># define GLM_CXX11_INLINE_NAMESPACES</span></div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"># if(__has_feature(cxx_lambdas))</span></div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"># define GLM_CXX11_LAMBDAS</span></div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"># if(__has_feature(cxx_local_type_template_args))</span></div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"># define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS</span></div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor"># if(__has_feature(cxx_noexcept))</span></div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor"># define GLM_CXX11_NOEXCEPT</span></div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"># if(__has_feature(cxx_nonstatic_member_init))</span></div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="preprocessor"># define GLM_CXX11_NONSTATIC_MEMBER_INIT</span></div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"># if(__has_feature(cxx_nullptr))</span></div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor"># define GLM_CXX11_NULLPTR</span></div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor"># if(__has_feature(cxx_override_control))</span></div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"># define GLM_CXX11_OVERRIDE_CONTROL</span></div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"># if(__has_feature(cxx_reference_qualified_functions))</span></div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"># define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> </div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"># if(__has_feature(cxx_range_for))</span></div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"># define GLM_CXX11_RANGE_FOR</span></div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"># if(__has_feature(cxx_raw_string_literals))</span></div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"># define GLM_CXX11_RAW_STRING_LITERALS</span></div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"># if(__has_feature(cxx_rvalue_references))</span></div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"># define GLM_CXX11_RVALUE_REFERENCES</span></div>
|
||||
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"># if(__has_feature(cxx_static_assert))</span></div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"># define GLM_CXX11_STATIC_ASSERT</span></div>
|
||||
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"># if(__has_feature(cxx_auto_type))</span></div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor"># define GLM_CXX11_AUTO_TYPE</span></div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor"># if(__has_feature(cxx_strong_enums))</span></div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"># define GLM_CXX11_STRONG_ENUMS</span></div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"># if(__has_feature(cxx_trailing_return))</span></div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"># define GLM_CXX11_TRAILING_RETURN</span></div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"># if(__has_feature(cxx_unicode_literals))</span></div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="preprocessor"># define GLM_CXX11_UNICODE_LITERALS</span></div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"># if(__has_feature(cxx_unrestricted_unions))</span></div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"># define GLM_CXX11_UNRESTRICTED_UNIONS</span></div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"># if(__has_feature(cxx_user_literals))</span></div>
|
||||
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"># define GLM_CXX11_USER_LITERALS</span></div>
|
||||
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"># if(__has_feature(cxx_variadic_templates))</span></div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"># define GLM_CXX11_VARIADIC_TEMPLATES</span></div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> </div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor">#endif//(GLM_COMPILER & GLM_COMPILER_CLANG)</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00002.html
Normal file
108
test/glm/doc/api/a00002.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _fixes.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_fixes.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00002_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00002_source.html">_fixes.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
122
test/glm/doc/api/a00002_source.html
Normal file
122
test/glm/doc/api/a00002_source.html
Normal file
@@ -0,0 +1,122 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _fixes.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_fixes.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00002.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <cmath></span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifdef max</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#undef max</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifdef min</span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#undef min</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifdef isnan</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#undef isnan</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#ifdef isinf</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#undef isinf</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifdef log2</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#undef log2</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00003.html
Normal file
108
test/glm/doc/api/a00003.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _noise.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_noise.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00003_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00003_source.html">_noise.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
186
test/glm/doc/api/a00003_source.html
Normal file
186
test/glm/doc/api/a00003_source.html
Normal file
@@ -0,0 +1,186 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _noise.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_noise.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00003.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "../vec2.hpp"</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "../common.hpp"</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a>{</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  GLM_FUNC_QUALIFIER T mod289(T <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  {</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordflow">return</span> x - <a class="code" href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">floor</a>(x * (static_cast<T>(1.0) / static_cast<T>(289.0))) * <span class="keyword">static_cast<</span>T<span class="keyword">></span>(289.0);</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  }</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  GLM_FUNC_QUALIFIER T permute(T <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  {</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  }</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  GLM_FUNC_QUALIFIER vec<2, T, Q> permute(vec<2, T, Q> <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  </div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> <span class="keyword">const</span>& x)</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  {</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">return</span> mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  GLM_FUNC_QUALIFIER T taylorInvSqrt(T <span class="keyword">const</span>& r)</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> <span class="keyword">const</span>& r)</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  }</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> <span class="keyword">const</span>& r)</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> <span class="keyword">const</span>& r)</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> T(1.79284291400159) - T(0.85373472095314) * r;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_FUNC_QUALIFIER vec<2, T, Q> fade(vec<2, T, Q> <span class="keyword">const</span>& t)</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> <span class="keyword">const</span>& t)</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> <span class="keyword">const</span>& t)</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> (t * t * t) * (t * (t * T(6) - T(15)) + T(10));</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00140_html_gaa9d0742639e85b29c7c5de11cfd6840d"><div class="ttname"><a href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00004.html
Normal file
108
test/glm/doc/api/a00004.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _swizzle.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_swizzle.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00004_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00004_source.html">_swizzle.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
895
test/glm/doc/api/a00004_source.html
Normal file
895
test/glm/doc/api/a00004_source.html
Normal file
@@ -0,0 +1,895 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _swizzle.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_swizzle.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00004.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a>{</div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> {</div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  <span class="comment">// Internal class for implementing swizzle operators</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keywordtype">int</span> N></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keyword">struct </span>_swizzle_base0</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  {</div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  GLM_FUNC_QUALIFIER T& elem(<span class="keywordtype">size_t</span> i){ <span class="keywordflow">return</span> (reinterpret_cast<T*>(_buffer))[i]; }</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  GLM_FUNC_QUALIFIER T <span class="keyword">const</span>& elem(<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span>{ <span class="keywordflow">return</span> (reinterpret_cast<const T*>(_buffer))[i]; }</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="comment">// Use an opaque buffer to *ensure* the compiler doesn't call a constructor.</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="comment">// The size 1 buffer is assumed to aligned to the actual members so that the</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="comment">// elem() </span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">char</span> _buffer[1];</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  };</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keyword">template</span><<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keyword">struct </span>_swizzle_base1 : <span class="keyword">public</span> _swizzle_base0<T, N></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  };</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">bool</span> Aligned></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">struct </span>_swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 2></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  GLM_FUNC_QUALIFIER vec<2, T, Q> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vec<2, T, Q>(this->elem(E0), this->elem(E1)); }</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  };</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">bool</span> Aligned></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">struct </span>_swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 3></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_QUALIFIER vec<3, T, Q> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vec<3, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2)); }</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  };</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">bool</span> Aligned></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">struct </span>_swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : <span class="keyword">public</span> _swizzle_base0<T, 4></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  { </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vec<4, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  };</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Internal class for implementing swizzle operators</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment"> Template parameters:</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment"></span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment"> T = type of scalar values (e.g. float, double)</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment"> N = number of components in the vector (e.g. 3)</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"></span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"> DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> containing duplicate elements so that they cannot be used as r-values). </span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">template</span><<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3, <span class="keywordtype">int</span> DUPLICATE_ELEMENTS></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">struct </span>_swizzle_base2 : <span class="keyword">public</span> _swizzle_base1<N, T, Q, E0,E1,E2,E3, detail::is_aligned<Q>::value></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (<span class="keyword">const</span> T& t)</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  (*<span class="keyword">this</span>)[i] = t;</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec<N, T, Q> <span class="keyword">const</span>& that)</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e = t; } </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  };</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator -= (vec<N, T, Q> <span class="keyword">const</span>& that)</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  {</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e -= t; } </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  };</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator += (vec<N, T, Q> <span class="keyword">const</span>& that)</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e += t; } </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  };</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator *= (vec<N, T, Q> <span class="keyword">const</span>& that)</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  {</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e *= t; } </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  };</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator /= (vec<N, T, Q> <span class="keyword">const</span>& that)</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">struct </span>op { </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> operator() (T& <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>, T& t) { e /= t; } </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  };</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  _apply_op(that, op());</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  GLM_FUNC_QUALIFIER T& operator[](<span class="keywordtype">size_t</span> i)</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  GLM_FUNC_QUALIFIER T operator[](<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">template</span><<span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  GLM_FUNC_QUALIFIER <span class="keywordtype">void</span> _apply_op(vec<N, T, Q> <span class="keyword">const</span>& that, U op)</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  {</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// Make a copy of the data in this == &that.</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// The copier should optimize out the copy in cases where the function is</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="comment">// properly inlined and the copy is not necessary.</span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  T t[N];</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  t[i] = that[i];</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < N; ++i)</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  op( (*<span class="keyword">this</span>)[i], t[i] );</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  };</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="comment">// Specialization for swizzles containing duplicate elements. These cannot be modified.</span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">template</span><<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">struct </span>_swizzle_base2<N, T, Q, E0,E1,E2,E3, 1> : <span class="keyword">public</span> _swizzle_base1<N, T, Q, E0,E1,E2,E3, detail::is_aligned<Q>::value></div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">struct </span>Stub {};</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub <span class="keyword">const</span>&) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  GLM_FUNC_QUALIFIER T operator[] (<span class="keywordtype">size_t</span> i)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> offset_dst[4] = { E0, E1, E2, E3 };</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">return</span> this->elem(offset_dst[i]);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  };</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">template</span><<span class="keywordtype">int</span> N, <span class="keyword">typename</span> T, qualifier Q, <span class="keywordtype">int</span> E0, <span class="keywordtype">int</span> E1, <span class="keywordtype">int</span> E2, <span class="keywordtype">int</span> E3></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keyword">struct </span>_swizzle : <span class="keyword">public</span> _swizzle_base2<N, T, Q, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">typedef</span> _swizzle_base2<N, T, Q, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)> base_type;</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">using</span> base_type::operator=;</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  GLM_FUNC_QUALIFIER <span class="keyword">operator</span> vec<N, T, Q> () <span class="keyword">const</span> { <span class="keywordflow">return</span> (*<span class="keyword">this</span>)(); }</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  };</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor">#define GLM_SWIZZLE_TEMPLATE1 template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3></span></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#define GLM_SWIZZLE_TEMPLATE2 template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3></span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#define GLM_SWIZZLE_TYPE1 _swizzle<N, T, Q, E0, E1, E2, E3></span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor">#define GLM_SWIZZLE_TYPE2 _swizzle<N, T, Q, F0, F1, F2, F3></span></div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment">// Wrapper for a binary operator (e.g. u.yy + v.zy)</span></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor">#define GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \</span></div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> return a() OPERAND b(); \</span></div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const vec<N, T, Q>& b) \</span></div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> return a() OPERAND b; \</span></div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const vec<N, T, Q>& a, const GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> return a OPERAND b(); \</span></div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)</span></div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor">#define GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \</span></div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const T& b) \</span></div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"> return a() OPERAND b; \</span></div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const T& a, const GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> return a OPERAND b(); \</span></div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// Macro for wrapping a function taking one argument (e.g. abs())</span></div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor">#define GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \</span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a) \</span></div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"> return FUNCTION(a()); \</span></div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// Macro for wrapping a function taking two vector arguments (e.g. dot()).</span></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor">#define GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \</span></div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \</span></div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"> return FUNCTION(a(), b()); \</span></div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"> return FUNCTION(a(), b()); \</span></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename V& b) \</span></div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> return FUNCTION(a(), b); \</span></div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const GLM_SWIZZLE_TYPE1& b) \</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> return FUNCTION(a, b()); \</span></div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> } </span></div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).</span></div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#define GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \</span></div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE2 \</span></div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b, const T& c) \</span></div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span></div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \</span></div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor"> return FUNCTION(a(), b(), c); \</span></div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\</span></div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> return FUNCTION(a(), b, c); \</span></div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> } \</span></div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> GLM_SWIZZLE_TEMPLATE1 \</span></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \</span></div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> return FUNCTION(a, b(), c); \</span></div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> } </span></div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }<span class="comment">//namespace detail </span></div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  }</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="comment">// Swizzles are distinct types from the unswizzled type. The below macros will</span></div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">// provide template specializations for the swizzle types for the given functions</span></div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="comment">// so that the compiler does not have any ambiguity to choosing how to handle</span></div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="comment">// the function.</span></div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="comment">// The alternative is to use the operator()() when calling the function in order</span></div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="comment">// to explicitly convert the swizzled type to the unswizzled type.</span></div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);</span></div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);</span></div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);</span></div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);</span></div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);</span></div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> </div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);</span></div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);</span></div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step); </span></div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="comment">//GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);</span></div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> }</div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor">#define GLM_SWIZZLE2_2_MEMBERS(T, Q, E0,E1) \</span></div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"> struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; }; </span></div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor">#define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \</span></div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"> struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; </span></div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor">#define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \</span></div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; };</span></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="preprocessor">#define GLM_SWIZZLE3_2_MEMBERS(T, Q, E0,E1,E2) \</span></div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; };</span></div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor">#define GLM_SWIZZLE3_3_MEMBERS(T, Q ,E0,E1,E2) \</span></div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; };</span></div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor">#define GLM_SWIZZLE3_4_MEMBERS(T, Q, E0,E1,E2) \</span></div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor"> struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; </span></div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> </div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor">#define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \</span></div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; }; </span></div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="preprocessor">#define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \</span></div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,0,3,-1> E0 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,1,3,-1> E0 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,2,3,-1> E0 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,3,0,-1> E0 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,3,1,-1> E0 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,3,2,-1> E0 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 0,3,3,-1> E0 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,0,3,-1> E1 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,1,3,-1> E1 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,2,3,-1> E1 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,3,0,-1> E1 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,3,1,-1> E1 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,3,2,-1> E1 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 1,3,3,-1> E1 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,0,3,-1> E2 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,1,3,-1> E2 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,2,3,-1> E2 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,3,0,-1> E2 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,3,1,-1> E2 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,3,2,-1> E2 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 2,3,3,-1> E2 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,0,0,-1> E3 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,0,1,-1> E3 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,0,2,-1> E3 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,0,3,-1> E3 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,1,0,-1> E3 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,1,1,-1> E3 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,1,2,-1> E3 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,1,3,-1> E3 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,2,0,-1> E3 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,2,1,-1> E3 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,2,2,-1> E3 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,2,3,-1> E3 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,3,0,-1> E3 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,3,1,-1> E3 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,3,2,-1> E3 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"> struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; }; </span></div>
|
||||
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div>
|
||||
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor">#define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \</span></div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \</span></div>
|
||||
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \</span></div>
|
||||
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \</span></div>
|
||||
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \</span></div>
|
||||
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="preprocessor"> struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; };</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00151_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00005.html
Normal file
108
test/glm/doc/api/a00005.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _swizzle_func.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_swizzle_func.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00005_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00005_source.html">_swizzle_func.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
782
test/glm/doc/api/a00005_source.html
Normal file
782
test/glm/doc/api/a00005_source.html
Normal file
@@ -0,0 +1,782 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _swizzle_func.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_swizzle_func.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00005.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, CONST, A, B) \</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor"> vec<2, T, Q> A ## B() CONST \</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor"> return vec<2, T, Q>(this->A, this->B); \</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, CONST, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"> vec<3, T, Q> A ## B ## C() CONST \</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor"> return vec<3, T, Q>(this->A, this->B, this->C); \</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, CONST, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"> vec<4, T, Q> A ## B ## C ## D() CONST \</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"> return vec<4, T, Q>(this->A, this->B, this->C, this->D); \</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(T, P, L, CONST, A, B) \</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"> template<typename T> \</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"> vec<L, T, Q> vec<L, T, Q>::A ## B() CONST \</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"> return vec<2, T, Q>(this->A, this->B); \</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(T, P, L, CONST, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"> template<typename T> \</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"> vec<3, T, Q> vec<L, T, Q>::A ## B ## C() CONST \</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"> return vec<3, T, Q>(this->A, this->B, this->C); \</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(T, P, L, CONST, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"> template<typename T> \</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"> vec<4, T, Q> vec<L, T, Q>::A ## B ## C ## D() CONST \</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"> { \</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"> return vec<4, T, Q>(this->A, this->B, this->C, this->D); \</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor"> }</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#define GLM_MUTABLE</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, A, B) \</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, B, A)</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(T, P) \</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, x, y) \</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, r, g) \</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, s, t)</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B)</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, B, A)</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C)</span></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, P) \</span></div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, x, y, z) \</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, r, g, b) \</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, s, t, p)</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \</span></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, D) \</span></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \</span></div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \</span></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, D) \</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \</span></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) \</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, D) \</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, A) \</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, B) \</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, C)</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, B)</span></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, C, A)</span></div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D)</span></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, P) \</span></div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, x, y, z, w) \</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, r, g, b, a) \</span></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, s, t, p, q)</span></div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \</span></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \</span></div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B)</span></div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B)</span></div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B)</span></div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \</span></div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B)</span></div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) \</span></div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, x, y) \</span></div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, r, g) \</span></div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, s, t)</span></div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \</span></div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \</span></div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \</span></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \</span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \</span></div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \</span></div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \</span></div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \</span></div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C)</span></div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C)</span></div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C)</span></div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C)</span></div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) \</span></div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, x, y, z) \</span></div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, r, g, b) \</span></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, s, t, p)</span></div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \</span></div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \</span></div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \</span></div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, D) \</span></div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \</span></div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \</span></div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \</span></div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, D) \</span></div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \</span></div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \</span></div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) \</span></div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, D) \</span></div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, A) \</span></div>
|
||||
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, B) \</span></div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, C) \</span></div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, D)</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, D) \</span></div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, A) \</span></div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, D) \</span></div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, D) \</span></div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, B) \</span></div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, D) \</span></div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, D) \</span></div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, C) \</span></div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, D) \</span></div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, A) \</span></div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, D) \</span></div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, B) \</span></div>
|
||||
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, D) \</span></div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, C) \</span></div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, D) \</span></div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, A) \</span></div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, B) \</span></div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, C) \</span></div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, D)</span></div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
|
||||
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, D) \</span></div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, A) \</span></div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, D) \</span></div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, D) \</span></div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, B) \</span></div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, D) \</span></div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, D) \</span></div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, C) \</span></div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, D) \</span></div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, A) \</span></div>
|
||||
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, D) \</span></div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, B) \</span></div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, D) \</span></div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, C) \</span></div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, D) \</span></div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, A) \</span></div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, B) \</span></div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, C) \</span></div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, D) \</span></div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, D) \</span></div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, A) \</span></div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, D) \</span></div>
|
||||
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, D) \</span></div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, B) \</span></div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, D) \</span></div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, D) \</span></div>
|
||||
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, C) \</span></div>
|
||||
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, D) \</span></div>
|
||||
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, A) \</span></div>
|
||||
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, D) \</span></div>
|
||||
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, B) \</span></div>
|
||||
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, D) \</span></div>
|
||||
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, C) \</span></div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, D) \</span></div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, A) \</span></div>
|
||||
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, B) \</span></div>
|
||||
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, C) \</span></div>
|
||||
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, D) \</span></div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, D) \</span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, A) \</span></div>
|
||||
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, D) \</span></div>
|
||||
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, D) \</span></div>
|
||||
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, B) \</span></div>
|
||||
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, D) \</span></div>
|
||||
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, D) \</span></div>
|
||||
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, C) \</span></div>
|
||||
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, D) \</span></div>
|
||||
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, A) \</span></div>
|
||||
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, D) \</span></div>
|
||||
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, B) \</span></div>
|
||||
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, D) \</span></div>
|
||||
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, C) \</span></div>
|
||||
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, D) \</span></div>
|
||||
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, A) \</span></div>
|
||||
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, B) \</span></div>
|
||||
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, C) \</span></div>
|
||||
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, D) \</span></div>
|
||||
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, A) \</span></div>
|
||||
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, B) \</span></div>
|
||||
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, C) \</span></div>
|
||||
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, D) \</span></div>
|
||||
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, A) \</span></div>
|
||||
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, B) \</span></div>
|
||||
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, C) \</span></div>
|
||||
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, D) \</span></div>
|
||||
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, A) \</span></div>
|
||||
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, B) \</span></div>
|
||||
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, C) \</span></div>
|
||||
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, D) \</span></div>
|
||||
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, A) \</span></div>
|
||||
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, B) \</span></div>
|
||||
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, C) \</span></div>
|
||||
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, D) \</span></div>
|
||||
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, A) \</span></div>
|
||||
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, B) \</span></div>
|
||||
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, C) \</span></div>
|
||||
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, D) \</span></div>
|
||||
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, A) \</span></div>
|
||||
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, B) \</span></div>
|
||||
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, C) \</span></div>
|
||||
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, D) \</span></div>
|
||||
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, A) \</span></div>
|
||||
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, B) \</span></div>
|
||||
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, C) \</span></div>
|
||||
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, A) \</span></div>
|
||||
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, B) \</span></div>
|
||||
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, C) \</span></div>
|
||||
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, D) \</span></div>
|
||||
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, A) \</span></div>
|
||||
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, B) \</span></div>
|
||||
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, C) \</span></div>
|
||||
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, D) \</span></div>
|
||||
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, A) \</span></div>
|
||||
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, B) \</span></div>
|
||||
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, C) \</span></div>
|
||||
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, D) \</span></div>
|
||||
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, A) \</span></div>
|
||||
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, B) \</span></div>
|
||||
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, C) \</span></div>
|
||||
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, D) \</span></div>
|
||||
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, A) \</span></div>
|
||||
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, B) \</span></div>
|
||||
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, C) \</span></div>
|
||||
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, D) \</span></div>
|
||||
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, A) \</span></div>
|
||||
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, B) \</span></div>
|
||||
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, C) \</span></div>
|
||||
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, D) \</span></div>
|
||||
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, A) \</span></div>
|
||||
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, B) \</span></div>
|
||||
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, C) \</span></div>
|
||||
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, D) \</span></div>
|
||||
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, A) \</span></div>
|
||||
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, B) \</span></div>
|
||||
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, C) \</span></div>
|
||||
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, D) \</span></div>
|
||||
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, A) \</span></div>
|
||||
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, B) \</span></div>
|
||||
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, C) \</span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, D)</span></div>
|
||||
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> </div>
|
||||
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \</span></div>
|
||||
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D)</span></div>
|
||||
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div>
|
||||
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor">#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) \</span></div>
|
||||
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, x, y, z, w) \</span></div>
|
||||
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, r, g, b, a) \</span></div>
|
||||
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"> GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, s, t, p, q)</span></div>
|
||||
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00006.html
Normal file
108
test/glm/doc/api/a00006.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _vectorize.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_vectorize.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00006_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00006_source.html">_vectorize.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
233
test/glm/doc/api/a00006_source.html
Normal file
233
test/glm/doc/api/a00006_source.html
Normal file
@@ -0,0 +1,233 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: _vectorize.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">_vectorize.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00006.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="a00121.html">type_vec1.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "<a class="code" href="a00122.html">type_vec2.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "<a class="code" href="a00123.html">type_vec3.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "<a class="code" href="a00124.html">type_vec4.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a>{</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> {</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keyword">struct </span>functor1{};</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keyword">struct </span>functor1<1, R, T, Q></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> <span class="keyword">const</span>& v)</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keywordflow">return</span> vec<1, R, Q>(Func(v.x));</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  }</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  };</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">struct </span>functor1<2, R, T, Q></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> <span class="keyword">const</span>& v)</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">return</span> vec<2, R, Q>(Func(v.x), Func(v.y));</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  }</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  };</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">struct </span>functor1<3, R, T, Q></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> <span class="keyword">const</span>& v)</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  {</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">return</span> vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z));</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  };</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span><<span class="keyword">typename</span> R, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">struct </span>functor1<4, R, T, Q></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  {</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> <span class="keyword">const</span>& v)</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w));</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  };</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">struct </span>functor2{};</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">struct </span>functor2<1, T, Q></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> <span class="keyword">const</span>& a, vec<1, T, Q> <span class="keyword">const</span>& b)</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> vec<1, T, Q>(Func(a.x, b.x));</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  };</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">struct </span>functor2<2, T, Q></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> <span class="keyword">const</span>& a, vec<2, T, Q> <span class="keyword">const</span>& b)</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y));</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  };</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">struct </span>functor2<3, T, Q></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> <span class="keyword">const</span>& a, vec<3, T, Q> <span class="keyword">const</span>& b)</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  };</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">struct </span>functor2<4, T, Q></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> <span class="keyword">const</span>& a, vec<4, T, Q> <span class="keyword">const</span>& b)</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  };</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">struct </span>functor2_vec_sca{};</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">struct </span>functor2_vec_sca<1, T, Q></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> <span class="keyword">const</span>& a, T b)</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> vec<1, T, Q>(Func(a.x, b));</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  };</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">struct </span>functor2_vec_sca<2, T, Q></div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> <span class="keyword">const</span>& a, T b)</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">return</span> vec<2, T, Q>(Func(a.x, b), Func(a.y, b));</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  };</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">struct </span>functor2_vec_sca<3, T, Q></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> <span class="keyword">const</span>& a, T b)</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b));</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  };</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">struct </span>functor2_vec_sca<4, T, Q></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> <span class="keyword">const</span>& a, T b)</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  };</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="ttc" id="a00124_html"><div class="ttname"><a href="a00124.html">type_vec4.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00122_html"><div class="ttname"><a href="a00122.html">type_vec2.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00123_html"><div class="ttname"><a href="a00123.html">type_vec3.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00121_html"><div class="ttname"><a href="a00121.html">type_vec1.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
205
test/glm/doc/api/a00007.html
Normal file
205
test/glm/doc/api/a00007.html
Normal file
@@ -0,0 +1,205 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: associated_min_max.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">associated_min_max.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00169.html">GLM_GTX_associated_min_max</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00007_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||
<tr class="memitem:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga7d9c8785230c8db60f72ec8975f1ba45">associatedMax</a> (T x, U a, T y, U b)</td></tr>
|
||||
<tr class="memdesc:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#ga7d9c8785230c8db60f72ec8975f1ba45">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7d9c8785230c8db60f72ec8975f1ba45"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5c6758bc50aa7fbe700f87123a045aad"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga5c6758bc50aa7fbe700f87123a045aad"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 2, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga5c6758bc50aa7fbe700f87123a045aad">associatedMax</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)</td></tr>
|
||||
<tr class="memdesc:ga5c6758bc50aa7fbe700f87123a045aad"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#ga5c6758bc50aa7fbe700f87123a045aad">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5c6758bc50aa7fbe700f87123a045aad"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0d169d6ce26b03248df175f39005d77f"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0d169d6ce26b03248df175f39005d77f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga0d169d6ce26b03248df175f39005d77f">associatedMax</a> (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)</td></tr>
|
||||
<tr class="memdesc:ga0d169d6ce26b03248df175f39005d77f"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#ga0d169d6ce26b03248df175f39005d77f">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0d169d6ce26b03248df175f39005d77f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4086269afabcb81dd7ded33cb3448653"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga4086269afabcb81dd7ded33cb3448653"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga4086269afabcb81dd7ded33cb3448653">associatedMax</a> (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)</td></tr>
|
||||
<tr class="memdesc:ga4086269afabcb81dd7ded33cb3448653"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#ga4086269afabcb81dd7ded33cb3448653">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4086269afabcb81dd7ded33cb3448653"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||
<tr class="memitem:gaec891e363d91abbf3a4443cf2f652209"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gaec891e363d91abbf3a4443cf2f652209">associatedMax</a> (T x, U a, T y, U b, T z, U c)</td></tr>
|
||||
<tr class="memdesc:gaec891e363d91abbf3a4443cf2f652209"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#gaec891e363d91abbf3a4443cf2f652209">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaec891e363d91abbf3a4443cf2f652209"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab84fdc35016a31e8cd0cbb8296bddf7c"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gab84fdc35016a31e8cd0cbb8296bddf7c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gab84fdc35016a31e8cd0cbb8296bddf7c">associatedMax</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)</td></tr>
|
||||
<tr class="memdesc:gab84fdc35016a31e8cd0cbb8296bddf7c"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#gab84fdc35016a31e8cd0cbb8296bddf7c">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab84fdc35016a31e8cd0cbb8296bddf7c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gadd2a2002f4f2144bbc39eb2336dd2fba"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gadd2a2002f4f2144bbc39eb2336dd2fba"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gadd2a2002f4f2144bbc39eb2336dd2fba">associatedMax</a> (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)</td></tr>
|
||||
<tr class="memdesc:gadd2a2002f4f2144bbc39eb2336dd2fba"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#gadd2a2002f4f2144bbc39eb2336dd2fba">More...</a><br /></td></tr>
|
||||
<tr class="separator:gadd2a2002f4f2144bbc39eb2336dd2fba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga19f59d1141a51a3b2108a9807af78f7f"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga19f59d1141a51a3b2108a9807af78f7f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga19f59d1141a51a3b2108a9807af78f7f">associatedMax</a> (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)</td></tr>
|
||||
<tr class="memdesc:ga19f59d1141a51a3b2108a9807af78f7f"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#ga19f59d1141a51a3b2108a9807af78f7f">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga19f59d1141a51a3b2108a9807af78f7f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||
<tr class="memitem:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga3038ffcb43eaa6af75897a99a5047ccc">associatedMax</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
|
||||
<tr class="memdesc:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga3038ffcb43eaa6af75897a99a5047ccc">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3038ffcb43eaa6af75897a99a5047ccc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf5ab0c428f8d1cd9e3b45fcfbf6423a6"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf5ab0c428f8d1cd9e3b45fcfbf6423a6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6">associatedMax</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)</td></tr>
|
||||
<tr class="memdesc:gaf5ab0c428f8d1cd9e3b45fcfbf6423a6"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf5ab0c428f8d1cd9e3b45fcfbf6423a6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga11477c2c4b5b0bfd1b72b29df3725a9d"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga11477c2c4b5b0bfd1b72b29df3725a9d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga11477c2c4b5b0bfd1b72b29df3725a9d">associatedMax</a> (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)</td></tr>
|
||||
<tr class="memdesc:ga11477c2c4b5b0bfd1b72b29df3725a9d"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga11477c2c4b5b0bfd1b72b29df3725a9d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga11477c2c4b5b0bfd1b72b29df3725a9d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab9c3dd74cac899d2c625b5767ea3b3fb"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gab9c3dd74cac899d2c625b5767ea3b3fb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a> (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)</td></tr>
|
||||
<tr class="memdesc:gab9c3dd74cac899d2c625b5767ea3b3fb"><td class="mdescLeft"> </td><td class="mdescRight">Maximum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab9c3dd74cac899d2c625b5767ea3b3fb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplParams" colspan="2">template<typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gacc01bd272359572fc28437ae214a02df"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gacc01bd272359572fc28437ae214a02df">associatedMin</a> (T x, U a, T y, U b)</td></tr>
|
||||
<tr class="memdesc:gacc01bd272359572fc28437ae214a02df"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#gacc01bd272359572fc28437ae214a02df">More...</a><br /></td></tr>
|
||||
<tr class="separator:gacc01bd272359572fc28437ae214a02df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac2f0dff90948f2e44386a5eafd941d1c"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac2f0dff90948f2e44386a5eafd941d1c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 2, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gac2f0dff90948f2e44386a5eafd941d1c">associatedMin</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)</td></tr>
|
||||
<tr class="memdesc:gac2f0dff90948f2e44386a5eafd941d1c"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#gac2f0dff90948f2e44386a5eafd941d1c">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac2f0dff90948f2e44386a5eafd941d1c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacfec519c820331d023ef53a511749319"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gacfec519c820331d023ef53a511749319"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gacfec519c820331d023ef53a511749319">associatedMin</a> (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)</td></tr>
|
||||
<tr class="memdesc:gacfec519c820331d023ef53a511749319"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#gacfec519c820331d023ef53a511749319">More...</a><br /></td></tr>
|
||||
<tr class="separator:gacfec519c820331d023ef53a511749319"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4757c7cab2d809124a8525d0a9deeb37"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga4757c7cab2d809124a8525d0a9deeb37"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga4757c7cab2d809124a8525d0a9deeb37">associatedMin</a> (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)</td></tr>
|
||||
<tr class="memdesc:ga4757c7cab2d809124a8525d0a9deeb37"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 2 variables and returns 2 associated variable values. <a href="a00169.html#ga4757c7cab2d809124a8525d0a9deeb37">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4757c7cab2d809124a8525d0a9deeb37"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||
<tr class="memitem:gad0aa8f86259a26d839d34a3577a923fc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#gad0aa8f86259a26d839d34a3577a923fc">associatedMin</a> (T x, U a, T y, U b, T z, U c)</td></tr>
|
||||
<tr class="memdesc:gad0aa8f86259a26d839d34a3577a923fc"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#gad0aa8f86259a26d839d34a3577a923fc">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad0aa8f86259a26d839d34a3577a923fc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga723e5411cebc7ffbd5c81ffeec61127d"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga723e5411cebc7ffbd5c81ffeec61127d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga723e5411cebc7ffbd5c81ffeec61127d">associatedMin</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)</td></tr>
|
||||
<tr class="memdesc:ga723e5411cebc7ffbd5c81ffeec61127d"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 3 variables and returns 3 associated variable values. <a href="a00169.html#ga723e5411cebc7ffbd5c81ffeec61127d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga723e5411cebc7ffbd5c81ffeec61127d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplParams" colspan="2">template<typename T , typename U > </td></tr>
|
||||
<tr class="memitem:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL U </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga432224ebe2085eaa2b63a077ecbbbff6">associatedMin</a> (T x, U a, T y, U b, T z, U c, T w, U d)</td></tr>
|
||||
<tr class="memdesc:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga432224ebe2085eaa2b63a077ecbbbff6">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga432224ebe2085eaa2b63a077ecbbbff6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga66b08118bc88f0494bcacb7cdb940556"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga66b08118bc88f0494bcacb7cdb940556"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga66b08118bc88f0494bcacb7cdb940556">associatedMin</a> (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)</td></tr>
|
||||
<tr class="memdesc:ga66b08118bc88f0494bcacb7cdb940556"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga66b08118bc88f0494bcacb7cdb940556">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga66b08118bc88f0494bcacb7cdb940556"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga78c28fde1a7080fb7420bd88e68c6c68"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga78c28fde1a7080fb7420bd88e68c6c68"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga78c28fde1a7080fb7420bd88e68c6c68">associatedMin</a> (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)</td></tr>
|
||||
<tr class="memdesc:ga78c28fde1a7080fb7420bd88e68c6c68"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga78c28fde1a7080fb7420bd88e68c6c68">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga78c28fde1a7080fb7420bd88e68c6c68"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2db7e351994baee78540a562d4bb6d3b"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename U , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2db7e351994baee78540a562d4bb6d3b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, U, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a> (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)</td></tr>
|
||||
<tr class="memdesc:ga2db7e351994baee78540a562d4bb6d3b"><td class="mdescLeft"> </td><td class="mdescRight">Minimum comparison between 4 variables and returns 4 associated variable values. <a href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2db7e351994baee78540a562d4bb6d3b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00169.html">GLM_GTX_associated_min_max</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
gtx_extented_min_max (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00007_source.html">associated_min_max.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
250
test/glm/doc/api/a00007_source.html
Normal file
250
test/glm/doc/api/a00007_source.html
Normal file
@@ -0,0 +1,250 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: associated_min_max.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">associated_min_max.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00007.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_associated_min_max extension included")</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(T x, U a, T y, U b);</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL vec<2, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b);</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  T x, <span class="keyword">const</span> vec<L, U, Q>& a,</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  T y, <span class="keyword">const</span> vec<L, U, Q>& b);</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  vec<L, T, Q> <span class="keyword">const</span>& x, U a,</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  vec<L, T, Q> <span class="keyword">const</span>& y, U b);</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  T x, U a,</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  T y, U b,</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  T z, U c);</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  vec<L, T, Q> <span class="keyword">const</span>& z, vec<L, U, Q> <span class="keyword">const</span>& c);</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  T x, U a,</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  T y, U b,</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  T z, U c,</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  T w, U d);</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  vec<L, T, Q> <span class="keyword">const</span>& z, vec<L, U, Q> <span class="keyword">const</span>& c,</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  vec<L, T, Q> <span class="keyword">const</span>& w, vec<L, U, Q> <span class="keyword">const</span>& d);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  T x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  T y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  T z, vec<L, U, Q> <span class="keyword">const</span>& c,</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  T w, vec<L, U, Q> <span class="keyword">const</span>& d);</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">associatedMin</a>(</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  vec<L, T, Q> <span class="keyword">const</span>& x, U a,</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  vec<L, T, Q> <span class="keyword">const</span>& y, U b,</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  vec<L, T, Q> <span class="keyword">const</span>& z, U c,</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  vec<L, T, Q> <span class="keyword">const</span>& w, U d);</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(T x, U a, T y, U b);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  GLM_FUNC_DECL vec<2, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  T x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  T y, vec<L, U, Q> <span class="keyword">const</span>& b);</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  vec<L, T, Q> <span class="keyword">const</span>& x, U a,</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  vec<L, T, Q> <span class="keyword">const</span>& y, U b);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  T x, U a,</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  T y, U b,</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  T z, U c);</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  vec<L, T, Q> <span class="keyword">const</span>& z, vec<L, U, Q> <span class="keyword">const</span>& c);</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  T x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  T y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  T z, vec<L, U, Q> <span class="keyword">const</span>& c);</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  vec<L, T, Q> <span class="keyword">const</span>& x, U a,</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  vec<L, T, Q> <span class="keyword">const</span>& y, U b,</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  vec<L, T, Q> <span class="keyword">const</span>& z, U c);</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  GLM_FUNC_DECL U <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  T x, U a,</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  T y, U b,</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  T z, U c,</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  T w, U d);</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  vec<L, T, Q> <span class="keyword">const</span>& z, vec<L, U, Q> <span class="keyword">const</span>& c,</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  vec<L, T, Q> <span class="keyword">const</span>& w, vec<L, U, Q> <span class="keyword">const</span>& d);</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  T x, vec<L, U, Q> <span class="keyword">const</span>& a,</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  T y, vec<L, U, Q> <span class="keyword">const</span>& b,</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  T z, vec<L, U, Q> <span class="keyword">const</span>& c,</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  T w, vec<L, U, Q> <span class="keyword">const</span>& d);</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  GLM_FUNC_DECL vec<L, U, Q> <a class="code" href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">associatedMax</a>(</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  vec<L, T, Q> <span class="keyword">const</span>& x, U a,</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  vec<L, T, Q> <span class="keyword">const</span>& y, U b,</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  vec<L, T, Q> <span class="keyword">const</span>& z, U c,</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  vec<L, T, Q> <span class="keyword">const</span>& w, U d);</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#include "associated_min_max.inl"</span></div>
|
||||
<div class="ttc" id="a00169_html_gab9c3dd74cac899d2c625b5767ea3b3fb"><div class="ttname"><a href="a00169.html#gab9c3dd74cac899d2c625b5767ea3b3fb">glm::associatedMax</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, U, Q > associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)</div><div class="ttdoc">Maximum comparison between 4 variables and returns 4 associated variable values. </div></div>
|
||||
<div class="ttc" id="a00169_html_ga2db7e351994baee78540a562d4bb6d3b"><div class="ttname"><a href="a00169.html#ga2db7e351994baee78540a562d4bb6d3b">glm::associatedMin</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, U, Q > associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)</div><div class="ttdoc">Minimum comparison between 4 variables and returns 4 associated variable values. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
149
test/glm/doc/api/a00008.html
Normal file
149
test/glm/doc/api/a00008.html
Normal file
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: bit.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">bit.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00170.html">GLM_GTX_bit</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00008_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga0dcc8fe7c3d3ad60dea409281efa3d05">highestBitValue</a> (genIUType Value)</td></tr>
|
||||
<tr class="separator:ga0dcc8fe7c3d3ad60dea409281efa3d05"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga898ef075ccf809a1e480faab48fe96bf"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga898ef075ccf809a1e480faab48fe96bf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga898ef075ccf809a1e480faab48fe96bf">highestBitValue</a> (vec< L, T, Q > const &value)</td></tr>
|
||||
<tr class="memdesc:ga898ef075ccf809a1e480faab48fe96bf"><td class="mdescLeft"> </td><td class="mdescRight">Find the highest bit set to 1 in a integer variable and return its value. <a href="a00170.html#ga898ef075ccf809a1e480faab48fe96bf">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga898ef075ccf809a1e480faab48fe96bf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a> (genIUType Value)</td></tr>
|
||||
<tr class="separator:ga2ff6568089f3a9b67f5c30918855fc6f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga8cda2459871f574a0aecbe702ac93291"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga8cda2459871f574a0aecbe702ac93291">powerOfTwoAbove</a> (genIUType Value)</td></tr>
|
||||
<tr class="memdesc:ga8cda2459871f574a0aecbe702ac93291"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is just higher the input value. <a href="a00170.html#ga8cda2459871f574a0aecbe702ac93291">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8cda2459871f574a0aecbe702ac93291"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2bbded187c5febfefc1e524ba31b3fab"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2bbded187c5febfefc1e524ba31b3fab"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga2bbded187c5febfefc1e524ba31b3fab">powerOfTwoAbove</a> (vec< L, T, Q > const &value)</td></tr>
|
||||
<tr class="memdesc:ga2bbded187c5febfefc1e524ba31b3fab"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is just higher the input value. <a href="a00170.html#ga2bbded187c5febfefc1e524ba31b3fab">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2bbded187c5febfefc1e524ba31b3fab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga3de7df63c589325101a2817a56f8e29d"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga3de7df63c589325101a2817a56f8e29d">powerOfTwoBelow</a> (genIUType Value)</td></tr>
|
||||
<tr class="memdesc:ga3de7df63c589325101a2817a56f8e29d"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is just lower the input value. <a href="a00170.html#ga3de7df63c589325101a2817a56f8e29d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3de7df63c589325101a2817a56f8e29d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf78ddcc4152c051b2a21e68fecb10980"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf78ddcc4152c051b2a21e68fecb10980"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#gaf78ddcc4152c051b2a21e68fecb10980">powerOfTwoBelow</a> (vec< L, T, Q > const &value)</td></tr>
|
||||
<tr class="memdesc:gaf78ddcc4152c051b2a21e68fecb10980"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is just lower the input value. <a href="a00170.html#gaf78ddcc4152c051b2a21e68fecb10980">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf78ddcc4152c051b2a21e68fecb10980"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#ga5f65973a5d2ea38c719e6a663149ead9">powerOfTwoNearest</a> (genIUType Value)</td></tr>
|
||||
<tr class="memdesc:ga5f65973a5d2ea38c719e6a663149ead9"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is the closet to the input value. <a href="a00170.html#ga5f65973a5d2ea38c719e6a663149ead9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5f65973a5d2ea38c719e6a663149ead9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac87e65d11e16c3d6b91c3bcfaef7da0b"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac87e65d11e16c3d6b91c3bcfaef7da0b"><td class="memTemplItemLeft" align="right" valign="top">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00170.html#gac87e65d11e16c3d6b91c3bcfaef7da0b">powerOfTwoNearest</a> (vec< L, T, Q > const &value)</td></tr>
|
||||
<tr class="memdesc:gac87e65d11e16c3d6b91c3bcfaef7da0b"><td class="mdescLeft"> </td><td class="mdescRight">Return the power of two number which value is the closet to the input value. <a href="a00170.html#gac87e65d11e16c3d6b91c3bcfaef7da0b">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac87e65d11e16c3d6b91c3bcfaef7da0b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00170.html">GLM_GTX_bit</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00008_source.html">bit.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
154
test/glm/doc/api/a00008_source.html
Normal file
154
test/glm/doc/api/a00008_source.html
Normal file
@@ -0,0 +1,154 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: bit.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">bit.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00008.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../gtc/bitfield.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_bit extension is deprecated, include GLM_GTC_bitfield and GLM_GTC_integer instead")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00170.html#ga898ef075ccf809a1e480faab48fe96bf">highestBitValue</a>(genIUType Value);</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00170.html#ga2ff6568089f3a9b67f5c30918855fc6f">lowestBitValue</a>(genIUType Value);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00170.html#ga898ef075ccf809a1e480faab48fe96bf">highestBitValue</a>(vec<L, T, Q> <span class="keyword">const</span>& value);</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00170.html#ga2bbded187c5febfefc1e524ba31b3fab">powerOfTwoAbove</a>(genIUType Value);</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00170.html#ga2bbded187c5febfefc1e524ba31b3fab">powerOfTwoAbove</a>(vec<L, T, Q> <span class="keyword">const</span>& value);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00170.html#gaf78ddcc4152c051b2a21e68fecb10980">powerOfTwoBelow</a>(genIUType Value);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00170.html#gaf78ddcc4152c051b2a21e68fecb10980">powerOfTwoBelow</a>(vec<L, T, Q> <span class="keyword">const</span>& value);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  GLM_DEPRECATED GLM_FUNC_DECL genIUType <a class="code" href="a00170.html#gac87e65d11e16c3d6b91c3bcfaef7da0b">powerOfTwoNearest</a>(genIUType Value);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00170.html#gac87e65d11e16c3d6b91c3bcfaef7da0b">powerOfTwoNearest</a>(vec<L, T, Q> <span class="keyword">const</span>& value);</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#include "bit.inl"</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="ttc" id="a00170_html_ga2ff6568089f3a9b67f5c30918855fc6f"><div class="ttname"><a href="a00170.html#ga2ff6568089f3a9b67f5c30918855fc6f">glm::lowestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value)</div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00170_html_ga2bbded187c5febfefc1e524ba31b3fab"><div class="ttname"><a href="a00170.html#ga2bbded187c5febfefc1e524ba31b3fab">glm::powerOfTwoAbove</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove(vec< L, T, Q > const &value)</div><div class="ttdoc">Return the power of two number which value is just higher the input value. </div></div>
|
||||
<div class="ttc" id="a00170_html_gaf78ddcc4152c051b2a21e68fecb10980"><div class="ttname"><a href="a00170.html#gaf78ddcc4152c051b2a21e68fecb10980">glm::powerOfTwoBelow</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow(vec< L, T, Q > const &value)</div><div class="ttdoc">Return the power of two number which value is just lower the input value. </div></div>
|
||||
<div class="ttc" id="a00170_html_ga898ef075ccf809a1e480faab48fe96bf"><div class="ttname"><a href="a00170.html#ga898ef075ccf809a1e480faab48fe96bf">glm::highestBitValue</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > highestBitValue(vec< L, T, Q > const &value)</div><div class="ttdoc">Find the highest bit set to 1 in a integer variable and return its value. </div></div>
|
||||
<div class="ttc" id="a00170_html_gac87e65d11e16c3d6b91c3bcfaef7da0b"><div class="ttname"><a href="a00170.html#gac87e65d11e16c3d6b91c3bcfaef7da0b">glm::powerOfTwoNearest</a></div><div class="ttdeci">GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest(vec< L, T, Q > const &value)</div><div class="ttdoc">Return the power of two number which value is the closet to the input value. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
205
test/glm/doc/api/a00009.html
Normal file
205
test/glm/doc/api/a00009.html
Normal file
@@ -0,0 +1,205 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: bitfield.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">bitfield.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00149.html">GLM_GTC_bitfield</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00009_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga46f9295abe3b5c7658f5b13c7f819f0a">bitfieldFillOne</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
|
||||
<tr class="memdesc:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="mdescLeft"> </td><td class="mdescRight">Set to 1 a range of bits. <a href="a00149.html#ga46f9295abe3b5c7658f5b13c7f819f0a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga46f9295abe3b5c7658f5b13c7f819f0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3e96dd1f0a4bc892f063251ed118c0c1"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga3e96dd1f0a4bc892f063251ed118c0c1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga3e96dd1f0a4bc892f063251ed118c0c1">bitfieldFillOne</a> (vec< L, T, Q > const &Value, int FirstBit, int BitCount)</td></tr>
|
||||
<tr class="memdesc:ga3e96dd1f0a4bc892f063251ed118c0c1"><td class="mdescLeft"> </td><td class="mdescRight">Set to 1 a range of bits. <a href="a00149.html#ga3e96dd1f0a4bc892f063251ed118c0c1">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3e96dd1f0a4bc892f063251ed118c0c1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga697b86998b7d74ee0a69d8e9f8819fee">bitfieldFillZero</a> (genIUType Value, int FirstBit, int BitCount)</td></tr>
|
||||
<tr class="memdesc:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="mdescLeft"> </td><td class="mdescRight">Set to 0 a range of bits. <a href="a00149.html#ga697b86998b7d74ee0a69d8e9f8819fee">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga697b86998b7d74ee0a69d8e9f8819fee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0d16c9acef4be79ea9b47c082a0cf7c2"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0d16c9acef4be79ea9b47c082a0cf7c2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga0d16c9acef4be79ea9b47c082a0cf7c2">bitfieldFillZero</a> (vec< L, T, Q > const &Value, int FirstBit, int BitCount)</td></tr>
|
||||
<tr class="memdesc:ga0d16c9acef4be79ea9b47c082a0cf7c2"><td class="mdescLeft"> </td><td class="mdescRight">Set to 0 a range of bits. <a href="a00149.html#ga0d16c9acef4be79ea9b47c082a0cf7c2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0d16c9acef4be79ea9b47c082a0cf7c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga24cad0069f9a0450abd80b3e89501adf"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int16 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga24cad0069f9a0450abd80b3e89501adf">bitfieldInterleave</a> (int8 x, int8 y)</td></tr>
|
||||
<tr class="memdesc:ga24cad0069f9a0450abd80b3e89501adf"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#ga24cad0069f9a0450abd80b3e89501adf">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga24cad0069f9a0450abd80b3e89501adf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9a4976a529aec2cee56525e1165da484"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint16 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga9a4976a529aec2cee56525e1165da484">bitfieldInterleave</a> (uint8 x, uint8 y)</td></tr>
|
||||
<tr class="memdesc:ga9a4976a529aec2cee56525e1165da484"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#ga9a4976a529aec2cee56525e1165da484">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9a4976a529aec2cee56525e1165da484"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac51c33a394593f0631fa3aa5bb778809"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gac51c33a394593f0631fa3aa5bb778809">bitfieldInterleave</a> (int16 x, int16 y)</td></tr>
|
||||
<tr class="memdesc:gac51c33a394593f0631fa3aa5bb778809"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#gac51c33a394593f0631fa3aa5bb778809">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac51c33a394593f0631fa3aa5bb778809"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga94f3646a5667f4be56f8dcf3310e963f">bitfieldInterleave</a> (uint16 x, uint16 y)</td></tr>
|
||||
<tr class="memdesc:ga94f3646a5667f4be56f8dcf3310e963f"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#ga94f3646a5667f4be56f8dcf3310e963f">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga94f3646a5667f4be56f8dcf3310e963f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gaebb756a24a0784e3d6fba8bd011ab77a">bitfieldInterleave</a> (int32 x, int32 y)</td></tr>
|
||||
<tr class="memdesc:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#gaebb756a24a0784e3d6fba8bd011ab77a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaebb756a24a0784e3d6fba8bd011ab77a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd">bitfieldInterleave</a> (uint32 x, uint32 y)</td></tr>
|
||||
<tr class="memdesc:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x and y. <a href="a00149.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2f1e2b3fe699e7d897ae38b2115ddcbd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8fdb724dccd4a07d57efc01147102137"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga8fdb724dccd4a07d57efc01147102137">bitfieldInterleave</a> (int8 x, int8 y, int8 z)</td></tr>
|
||||
<tr class="memdesc:ga8fdb724dccd4a07d57efc01147102137"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#ga8fdb724dccd4a07d57efc01147102137">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8fdb724dccd4a07d57efc01147102137"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga9fc2a0dd5dcf8b00e113f272a5feca93">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z)</td></tr>
|
||||
<tr class="memdesc:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#ga9fc2a0dd5dcf8b00e113f272a5feca93">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9fc2a0dd5dcf8b00e113f272a5feca93"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa901c36a842fa5d126ea650549f17b24"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gaa901c36a842fa5d126ea650549f17b24">bitfieldInterleave</a> (int16 x, int16 y, int16 z)</td></tr>
|
||||
<tr class="memdesc:gaa901c36a842fa5d126ea650549f17b24"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#gaa901c36a842fa5d126ea650549f17b24">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa901c36a842fa5d126ea650549f17b24"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga3afd6d38881fe3948c53d4214d2197fd">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z)</td></tr>
|
||||
<tr class="memdesc:ga3afd6d38881fe3948c53d4214d2197fd"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#ga3afd6d38881fe3948c53d4214d2197fd">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3afd6d38881fe3948c53d4214d2197fd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad2075d96a6640121edaa98ea534102ca"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gad2075d96a6640121edaa98ea534102ca">bitfieldInterleave</a> (int32 x, int32 y, int32 z)</td></tr>
|
||||
<tr class="memdesc:gad2075d96a6640121edaa98ea534102ca"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#gad2075d96a6640121edaa98ea534102ca">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad2075d96a6640121edaa98ea534102ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab19fbc739fc0cf7247978602c36f7da8"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gab19fbc739fc0cf7247978602c36f7da8">bitfieldInterleave</a> (uint32 x, uint32 y, uint32 z)</td></tr>
|
||||
<tr class="memdesc:gab19fbc739fc0cf7247978602c36f7da8"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y and z. <a href="a00149.html#gab19fbc739fc0cf7247978602c36f7da8">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab19fbc739fc0cf7247978602c36f7da8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga8a44ae22f5c953b296c42d067dccbe6d">bitfieldInterleave</a> (int8 x, int8 y, int8 z, int8 w)</td></tr>
|
||||
<tr class="memdesc:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y, z and w. <a href="a00149.html#ga8a44ae22f5c953b296c42d067dccbe6d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8a44ae22f5c953b296c42d067dccbe6d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint32 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga14bb274d54a3c26f4919dd7ed0dd0c36">bitfieldInterleave</a> (uint8 x, uint8 y, uint8 z, uint8 w)</td></tr>
|
||||
<tr class="memdesc:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y, z and w. <a href="a00149.html#ga14bb274d54a3c26f4919dd7ed0dd0c36">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga14bb274d54a3c26f4919dd7ed0dd0c36"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#ga180a63161e1319fbd5a53c84d0429c7a">bitfieldInterleave</a> (int16 x, int16 y, int16 z, int16 w)</td></tr>
|
||||
<tr class="memdesc:ga180a63161e1319fbd5a53c84d0429c7a"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y, z and w. <a href="a00149.html#ga180a63161e1319fbd5a53c84d0429c7a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga180a63161e1319fbd5a53c84d0429c7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafca8768671a14c8016facccb66a89f26"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint64 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a> (uint16 x, uint16 y, uint16 z, uint16 w)</td></tr>
|
||||
<tr class="memdesc:gafca8768671a14c8016facccb66a89f26"><td class="mdescLeft"> </td><td class="mdescRight">Interleaves the bits of x, y, z and w. <a href="a00149.html#gafca8768671a14c8016facccb66a89f26">More...</a><br /></td></tr>
|
||||
<tr class="separator:gafca8768671a14c8016facccb66a89f26"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga2eb49678a344ce1495bdb5586d9896b9">bitfieldRotateLeft</a> (genIUType In, int Shift)</td></tr>
|
||||
<tr class="memdesc:ga2eb49678a344ce1495bdb5586d9896b9"><td class="mdescLeft"> </td><td class="mdescRight">Rotate all bits to the left. <a href="a00149.html#ga2eb49678a344ce1495bdb5586d9896b9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2eb49678a344ce1495bdb5586d9896b9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae186317091b1a39214ebf79008d44a1e"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gae186317091b1a39214ebf79008d44a1e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#gae186317091b1a39214ebf79008d44a1e">bitfieldRotateLeft</a> (vec< L, T, Q > const &In, int Shift)</td></tr>
|
||||
<tr class="memdesc:gae186317091b1a39214ebf79008d44a1e"><td class="mdescLeft"> </td><td class="mdescRight">Rotate all bits to the left. <a href="a00149.html#gae186317091b1a39214ebf79008d44a1e">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae186317091b1a39214ebf79008d44a1e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca">bitfieldRotateRight</a> (genIUType In, int Shift)</td></tr>
|
||||
<tr class="memdesc:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="mdescLeft"> </td><td class="mdescRight">Rotate all bits to the right. <a href="a00149.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga1c33d075c5fb8bd8dbfd5092bfc851ca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga590488e1fc00a6cfe5d3bcaf93fbfe88"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga590488e1fc00a6cfe5d3bcaf93fbfe88"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88">bitfieldRotateRight</a> (vec< L, T, Q > const &In, int Shift)</td></tr>
|
||||
<tr class="memdesc:ga590488e1fc00a6cfe5d3bcaf93fbfe88"><td class="mdescLeft"> </td><td class="mdescRight">Rotate all bits to the right. <a href="a00149.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga590488e1fc00a6cfe5d3bcaf93fbfe88"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplParams" colspan="2">template<typename genIUType > </td></tr>
|
||||
<tr class="memitem:gad7eba518a0b71662114571ee76939f8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genIUType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#gad7eba518a0b71662114571ee76939f8a">mask</a> (genIUType Bits)</td></tr>
|
||||
<tr class="memdesc:gad7eba518a0b71662114571ee76939f8a"><td class="mdescLeft"> </td><td class="mdescRight">Build a mask of 'count' bits. <a href="a00149.html#gad7eba518a0b71662114571ee76939f8a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad7eba518a0b71662114571ee76939f8a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2e64e3b922a296033b825311e7f5fff1"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2e64e3b922a296033b825311e7f5fff1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ga2e64e3b922a296033b825311e7f5fff1">mask</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga2e64e3b922a296033b825311e7f5fff1"><td class="mdescLeft"> </td><td class="mdescRight">Build a mask of 'count' bits. <a href="a00149.html#ga2e64e3b922a296033b825311e7f5fff1">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2e64e3b922a296033b825311e7f5fff1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00149.html">GLM_GTC_bitfield</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00149.html" title="Include <glm/gtc/bitfield.hpp> to use the features of this extension. ">GLM_GTC_bitfield</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00009_source.html">bitfield.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
189
test/glm/doc/api/a00009_source.html
Normal file
189
test/glm/doc/api/a00009_source.html
Normal file
@@ -0,0 +1,189 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: bitfield.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">bitfield.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00009.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../detail/type_int.hpp"</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "../detail/_vectorize.hpp"</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <limits></span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_bitfield extension included")</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00149.html#ga2e64e3b922a296033b825311e7f5fff1">mask</a>(genIUType Bits);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00149.html#ga2e64e3b922a296033b825311e7f5fff1">mask</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00149.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88">bitfieldRotateRight</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00149.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88">bitfieldRotateRight</a>(vec<L, T, Q> <span class="keyword">const</span>& In, <span class="keywordtype">int</span> Shift);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00149.html#gae186317091b1a39214ebf79008d44a1e">bitfieldRotateLeft</a>(genIUType In, <span class="keywordtype">int</span> Shift);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00149.html#gae186317091b1a39214ebf79008d44a1e">bitfieldRotateLeft</a>(vec<L, T, Q> <span class="keyword">const</span>& In, <span class="keywordtype">int</span> Shift);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00149.html#ga3e96dd1f0a4bc892f063251ed118c0c1">bitfieldFillOne</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00149.html#ga3e96dd1f0a4bc892f063251ed118c0c1">bitfieldFillOne</a>(vec<L, T, Q> <span class="keyword">const</span>& Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genIUType></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  GLM_FUNC_DECL genIUType <a class="code" href="a00149.html#ga0d16c9acef4be79ea9b47c082a0cf7c2">bitfieldFillZero</a>(genIUType Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00149.html#ga0d16c9acef4be79ea9b47c082a0cf7c2">bitfieldFillZero</a>(vec<L, T, Q> <span class="keyword">const</span>& Value, <span class="keywordtype">int</span> FirstBit, <span class="keywordtype">int</span> BitCount);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  GLM_FUNC_DECL int16 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_DECL uint16 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  GLM_FUNC_DECL int32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  GLM_FUNC_DECL int64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y);</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y);</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  GLM_FUNC_DECL int32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z);</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z);</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  GLM_FUNC_DECL int64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z);</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z);</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  GLM_FUNC_DECL int64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int32 x, int32 y, int32 z);</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint32 x, uint32 y, uint32 z);</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  GLM_FUNC_DECL int32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int8 x, int8 y, int8 z, int8 w);</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  GLM_FUNC_DECL uint32 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint8 x, uint8 y, uint8 z, uint8 w);</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  GLM_FUNC_DECL int64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(int16 x, int16 y, int16 z, int16 w);</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  GLM_FUNC_DECL uint64 <a class="code" href="a00149.html#gafca8768671a14c8016facccb66a89f26">bitfieldInterleave</a>(uint16 x, uint16 y, uint16 z, uint16 w);</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#include "bitfield.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00149_html_gafca8768671a14c8016facccb66a89f26"><div class="ttname"><a href="a00149.html#gafca8768671a14c8016facccb66a89f26">glm::bitfieldInterleave</a></div><div class="ttdeci">GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)</div><div class="ttdoc">Interleaves the bits of x, y, z and w. </div></div>
|
||||
<div class="ttc" id="a00149_html_ga590488e1fc00a6cfe5d3bcaf93fbfe88"><div class="ttname"><a href="a00149.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88">glm::bitfieldRotateRight</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight(vec< L, T, Q > const &In, int Shift)</div><div class="ttdoc">Rotate all bits to the right. </div></div>
|
||||
<div class="ttc" id="a00149_html_ga3e96dd1f0a4bc892f063251ed118c0c1"><div class="ttname"><a href="a00149.html#ga3e96dd1f0a4bc892f063251ed118c0c1">glm::bitfieldFillOne</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne(vec< L, T, Q > const &Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 1 a range of bits. </div></div>
|
||||
<div class="ttc" id="a00149_html_ga2e64e3b922a296033b825311e7f5fff1"><div class="ttname"><a href="a00149.html#ga2e64e3b922a296033b825311e7f5fff1">glm::mask</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > mask(vec< L, T, Q > const &v)</div><div class="ttdoc">Build a mask of 'count' bits. </div></div>
|
||||
<div class="ttc" id="a00149_html_ga0d16c9acef4be79ea9b47c082a0cf7c2"><div class="ttname"><a href="a00149.html#ga0d16c9acef4be79ea9b47c082a0cf7c2">glm::bitfieldFillZero</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero(vec< L, T, Q > const &Value, int FirstBit, int BitCount)</div><div class="ttdoc">Set to 0 a range of bits. </div></div>
|
||||
<div class="ttc" id="a00149_html_gae186317091b1a39214ebf79008d44a1e"><div class="ttname"><a href="a00149.html#gae186317091b1a39214ebf79008d44a1e">glm::bitfieldRotateLeft</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft(vec< L, T, Q > const &In, int Shift)</div><div class="ttdoc">Rotate all bits to the left. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
124
test/glm/doc/api/a00010.html
Normal file
124
test/glm/doc/api/a00010.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: closest_point.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">closest_point.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00171.html">GLM_GTX_closest_point</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00010_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga36529c278ef716986151d58d151d697d"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga36529c278ef716986151d58d151d697d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga36529c278ef716986151d58d151d697d">closestPointOnLine</a> (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)</td></tr>
|
||||
<tr class="memdesc:ga36529c278ef716986151d58d151d697d"><td class="mdescLeft"> </td><td class="mdescRight">Find the point on a straight line which is the closet of a point. <a href="a00171.html#ga36529c278ef716986151d58d151d697d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga36529c278ef716986151d58d151d697d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 2, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00171.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0">closestPointOnLine</a> (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)</td></tr>
|
||||
<tr class="memdesc:ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"><td class="mdescLeft"> </td><td class="mdescRight">2d lines work as well <br /></td></tr>
|
||||
<tr class="separator:ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00171.html">GLM_GTX_closest_point</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00010_source.html">closest_point.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
133
test/glm/doc/api/a00010_source.html
Normal file
133
test/glm/doc/api/a00010_source.html
Normal file
@@ -0,0 +1,133 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: closest_point.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">closest_point.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00010.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_closest_point extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00171.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0">closestPointOnLine</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  vec<3, T, Q> <span class="keyword">const</span>& point,</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  vec<3, T, Q> <span class="keyword">const</span>& a, </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  vec<3, T, Q> <span class="keyword">const</span>& b);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  GLM_FUNC_DECL vec<2, T, Q> <a class="code" href="a00171.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0">closestPointOnLine</a>(</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  vec<2, T, Q> <span class="keyword">const</span>& point,</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  vec<2, T, Q> <span class="keyword">const</span>& a, </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  vec<2, T, Q> <span class="keyword">const</span>& b); </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }<span class="comment">// namespace glm</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "closest_point.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00171_html_ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0"><div class="ttname"><a href="a00171.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0">glm::closestPointOnLine</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine(vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)</div><div class="ttdoc">2d lines work as well </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
137
test/glm/doc/api/a00011.html
Normal file
137
test/glm/doc/api/a00011.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_encoding.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">color_encoding.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00172.html">GLM_GTX_color_encoding</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00011_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gad12f4f65022b2c80e33fcba2ced0dc48"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad12f4f65022b2c80e33fcba2ced0dc48"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gad12f4f65022b2c80e33fcba2ced0dc48"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00172.html#gad12f4f65022b2c80e33fcba2ced0dc48">convertD65XYZToD50XYZ</a> (vec< 3, T, Q > const &ColorD65XYZ)</td></tr>
|
||||
<tr class="memdesc:gad12f4f65022b2c80e33fcba2ced0dc48"><td class="mdescLeft"> </td><td class="mdescRight">Convert a D65 YUV color to D50 YUV. <br /></td></tr>
|
||||
<tr class="separator:gad12f4f65022b2c80e33fcba2ced0dc48"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5265386fc3ac29e4c580d37ed470859c"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5265386fc3ac29e4c580d37ed470859c"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga5265386fc3ac29e4c580d37ed470859c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00172.html#ga5265386fc3ac29e4c580d37ed470859c">convertD65XYZToLinearSRGB</a> (vec< 3, T, Q > const &ColorD65XYZ)</td></tr>
|
||||
<tr class="memdesc:ga5265386fc3ac29e4c580d37ed470859c"><td class="mdescLeft"> </td><td class="mdescRight">Convert a D65 YUV color to linear sRGB. <br /></td></tr>
|
||||
<tr class="separator:ga5265386fc3ac29e4c580d37ed470859c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1522ba180e3d83d554a734056da031f9"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1522ba180e3d83d554a734056da031f9"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga1522ba180e3d83d554a734056da031f9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00172.html#ga1522ba180e3d83d554a734056da031f9">convertLinearSRGBToD50XYZ</a> (vec< 3, T, Q > const &ColorLinearSRGB)</td></tr>
|
||||
<tr class="memdesc:ga1522ba180e3d83d554a734056da031f9"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear sRGB color to D50 YUV. <br /></td></tr>
|
||||
<tr class="separator:ga1522ba180e3d83d554a734056da031f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf9e130d9d4ccf51cc99317de7449f369"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf9e130d9d4ccf51cc99317de7449f369"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf9e130d9d4ccf51cc99317de7449f369"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00172.html#gaf9e130d9d4ccf51cc99317de7449f369">convertLinearSRGBToD65XYZ</a> (vec< 3, T, Q > const &ColorLinearSRGB)</td></tr>
|
||||
<tr class="memdesc:gaf9e130d9d4ccf51cc99317de7449f369"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear sRGB color to D65 YUV. <br /></td></tr>
|
||||
<tr class="separator:gaf9e130d9d4ccf51cc99317de7449f369"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00172.html">GLM_GTX_color_encoding</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00172.html" title="Include <glm/gtx/color_encoding.hpp> to use the features of this extension. ">GLM_GTX_color_encoding</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00011_source.html">color_encoding.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
135
test/glm/doc/api/a00011_source.html
Normal file
135
test/glm/doc/api/a00011_source.html
Normal file
@@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_encoding.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">color_encoding.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00011.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <limits></span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_color_encoding extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00172.html#gaf9e130d9d4ccf51cc99317de7449f369">convertLinearSRGBToD65XYZ</a>(vec<3, T, Q> <span class="keyword">const</span>& ColorLinearSRGB);</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00172.html#ga1522ba180e3d83d554a734056da031f9">convertLinearSRGBToD50XYZ</a>(vec<3, T, Q> <span class="keyword">const</span>& ColorLinearSRGB);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00172.html#ga5265386fc3ac29e4c580d37ed470859c">convertD65XYZToLinearSRGB</a>(vec<3, T, Q> <span class="keyword">const</span>& ColorD65XYZ);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00172.html#gad12f4f65022b2c80e33fcba2ced0dc48">convertD65XYZToD50XYZ</a>(vec<3, T, Q> <span class="keyword">const</span>& ColorD65XYZ);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "color_encoding.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00172_html_ga1522ba180e3d83d554a734056da031f9"><div class="ttname"><a href="a00172.html#ga1522ba180e3d83d554a734056da031f9">glm::convertLinearSRGBToD50XYZ</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ(vec< 3, T, Q > const &ColorLinearSRGB)</div><div class="ttdoc">Convert a linear sRGB color to D50 YUV. </div></div>
|
||||
<div class="ttc" id="a00172_html_ga5265386fc3ac29e4c580d37ed470859c"><div class="ttname"><a href="a00172.html#ga5265386fc3ac29e4c580d37ed470859c">glm::convertD65XYZToLinearSRGB</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB(vec< 3, T, Q > const &ColorD65XYZ)</div><div class="ttdoc">Convert a D65 YUV color to linear sRGB. </div></div>
|
||||
<div class="ttc" id="a00172_html_gad12f4f65022b2c80e33fcba2ced0dc48"><div class="ttname"><a href="a00172.html#gad12f4f65022b2c80e33fcba2ced0dc48">glm::convertD65XYZToD50XYZ</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ(vec< 3, T, Q > const &ColorD65XYZ)</div><div class="ttdoc">Convert a D65 YUV color to D50 YUV. </div></div>
|
||||
<div class="ttc" id="a00172_html_gaf9e130d9d4ccf51cc99317de7449f369"><div class="ttname"><a href="a00172.html#gaf9e130d9d4ccf51cc99317de7449f369">glm::convertLinearSRGBToD65XYZ</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ(vec< 3, T, Q > const &ColorLinearSRGB)</div><div class="ttdoc">Convert a linear sRGB color to D65 YUV. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
134
test/glm/doc/api/a00012.html
Normal file
134
test/glm/doc/api/a00012.html
Normal file
@@ -0,0 +1,134 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">gtc/color_space.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00150.html">GLM_GTC_color_space</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00012_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga42239e7b3da900f7ef37cec7e2476579"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga42239e7b3da900f7ef37cec7e2476579"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#ga42239e7b3da900f7ef37cec7e2476579">convertLinearToSRGB</a> (vec< L, T, Q > const &ColorLinear)</td></tr>
|
||||
<tr class="memdesc:ga42239e7b3da900f7ef37cec7e2476579"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear color to sRGB color using a standard gamma correction. <a href="a00150.html#ga42239e7b3da900f7ef37cec7e2476579">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga42239e7b3da900f7ef37cec7e2476579"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaace0a21167d13d26116c283009af57f6"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaace0a21167d13d26116c283009af57f6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gaace0a21167d13d26116c283009af57f6">convertLinearToSRGB</a> (vec< L, T, Q > const &ColorLinear, T Gamma)</td></tr>
|
||||
<tr class="memdesc:gaace0a21167d13d26116c283009af57f6"><td class="mdescLeft"> </td><td class="mdescRight">Convert a linear color to sRGB color using a custom gamma correction. <a href="a00150.html#gaace0a21167d13d26116c283009af57f6">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaace0a21167d13d26116c283009af57f6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga16c798b7a226b2c3079dedc55083d187"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga16c798b7a226b2c3079dedc55083d187"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#ga16c798b7a226b2c3079dedc55083d187">convertSRGBToLinear</a> (vec< L, T, Q > const &ColorSRGB)</td></tr>
|
||||
<tr class="memdesc:ga16c798b7a226b2c3079dedc55083d187"><td class="mdescLeft"> </td><td class="mdescRight">Convert a sRGB color to linear color using a standard gamma correction. <a href="a00150.html#ga16c798b7a226b2c3079dedc55083d187">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga16c798b7a226b2c3079dedc55083d187"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad1b91f27a9726c9cb403f9fee6e2e200"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad1b91f27a9726c9cb403f9fee6e2e200"></a>
|
||||
template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gad1b91f27a9726c9cb403f9fee6e2e200"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00150.html#gad1b91f27a9726c9cb403f9fee6e2e200">convertSRGBToLinear</a> (vec< L, T, Q > const &ColorSRGB, T Gamma)</td></tr>
|
||||
<tr class="memdesc:gad1b91f27a9726c9cb403f9fee6e2e200"><td class="mdescLeft"> </td><td class="mdescRight">Convert a sRGB color to linear color using a custom gamma correction. <br /></td></tr>
|
||||
<tr class="separator:gad1b91f27a9726c9cb403f9fee6e2e200"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00150.html">GLM_GTC_color_space</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00150.html" title="Include <glm/gtc/color_space.hpp> to use the features of this extension. ">GLM_GTC_color_space</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00012_source.html">gtc/color_space.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
136
test/glm/doc/api/a00012_source.html
Normal file
136
test/glm/doc/api/a00012_source.html
Normal file
@@ -0,0 +1,136 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">gtc/color_space.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00012.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../exponential.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include <limits></span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_color_space extension included")</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00150.html#gaace0a21167d13d26116c283009af57f6">convertLinearToSRGB</a>(vec<L, T, Q> <span class="keyword">const</span>& ColorLinear);</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00150.html#gaace0a21167d13d26116c283009af57f6">convertLinearToSRGB</a>(vec<L, T, Q> <span class="keyword">const</span>& ColorLinear, T Gamma);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00150.html#gad1b91f27a9726c9cb403f9fee6e2e200">convertSRGBToLinear</a>(vec<L, T, Q> <span class="keyword">const</span>& ColorSRGB);</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="comment">// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00150.html#gad1b91f27a9726c9cb403f9fee6e2e200">convertSRGBToLinear</a>(vec<L, T, Q> <span class="keyword">const</span>& ColorSRGB, T Gamma);</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "color_space.inl"</span></div>
|
||||
<div class="ttc" id="a00150_html_gaace0a21167d13d26116c283009af57f6"><div class="ttname"><a href="a00150.html#gaace0a21167d13d26116c283009af57f6">glm::convertLinearToSRGB</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB(vec< L, T, Q > const &ColorLinear, T Gamma)</div><div class="ttdoc">Convert a linear color to sRGB color using a custom gamma correction. </div></div>
|
||||
<div class="ttc" id="a00150_html_gad1b91f27a9726c9cb403f9fee6e2e200"><div class="ttname"><a href="a00150.html#gad1b91f27a9726c9cb403f9fee6e2e200">glm::convertSRGBToLinear</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB, T Gamma)</div><div class="ttdoc">Convert a sRGB color to linear color using a custom gamma correction. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
139
test/glm/doc/api/a00013.html
Normal file
139
test/glm/doc/api/a00013.html
Normal file
@@ -0,0 +1,139 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">gtx/color_space.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00173.html">GLM_GTX_color_space</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00013_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga789802bec2d4fe0f9741c731b4a8a7d8"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga789802bec2d4fe0f9741c731b4a8a7d8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#ga789802bec2d4fe0f9741c731b4a8a7d8">hsvColor</a> (vec< 3, T, Q > const &rgbValue)</td></tr>
|
||||
<tr class="memdesc:ga789802bec2d4fe0f9741c731b4a8a7d8"><td class="mdescLeft"> </td><td class="mdescRight">Converts a color from RGB color space to its color in HSV color space. <a href="a00173.html#ga789802bec2d4fe0f9741c731b4a8a7d8">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga789802bec2d4fe0f9741c731b4a8a7d8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad028e0a4f1a9c812b39439b746295b34"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gad028e0a4f1a9c812b39439b746295b34"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#gad028e0a4f1a9c812b39439b746295b34">luminosity</a> (vec< 3, T, Q > const &color)</td></tr>
|
||||
<tr class="memdesc:gad028e0a4f1a9c812b39439b746295b34"><td class="mdescLeft"> </td><td class="mdescRight">Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. <a href="a00173.html#gad028e0a4f1a9c812b39439b746295b34">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad028e0a4f1a9c812b39439b746295b34"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5f9193be46f45f0655c05a0cdca006db"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga5f9193be46f45f0655c05a0cdca006db"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">rgbColor</a> (vec< 3, T, Q > const &hsvValue)</td></tr>
|
||||
<tr class="memdesc:ga5f9193be46f45f0655c05a0cdca006db"><td class="mdescLeft"> </td><td class="mdescRight">Converts a color from HSV color space to its color in RGB color space. <a href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5f9193be46f45f0655c05a0cdca006db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga01a97152b44e1550edcac60bd849e884"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga01a97152b44e1550edcac60bd849e884"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#ga01a97152b44e1550edcac60bd849e884">saturation</a> (T const s)</td></tr>
|
||||
<tr class="memdesc:ga01a97152b44e1550edcac60bd849e884"><td class="mdescLeft"> </td><td class="mdescRight">Build a saturation matrix. <a href="a00173.html#ga01a97152b44e1550edcac60bd849e884">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga01a97152b44e1550edcac60bd849e884"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2156cea600e90148ece5bc96fd6db43a"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2156cea600e90148ece5bc96fd6db43a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#ga2156cea600e90148ece5bc96fd6db43a">saturation</a> (T const s, vec< 3, T, Q > const &color)</td></tr>
|
||||
<tr class="memdesc:ga2156cea600e90148ece5bc96fd6db43a"><td class="mdescLeft"> </td><td class="mdescRight">Modify the saturation of a color. <a href="a00173.html#ga2156cea600e90148ece5bc96fd6db43a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2156cea600e90148ece5bc96fd6db43a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaba0eacee0736dae860e9371cc1ae4785"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaba0eacee0736dae860e9371cc1ae4785"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">saturation</a> (T const s, vec< 4, T, Q > const &color)</td></tr>
|
||||
<tr class="memdesc:gaba0eacee0736dae860e9371cc1ae4785"><td class="mdescLeft"> </td><td class="mdescRight">Modify the saturation of a color. <a href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaba0eacee0736dae860e9371cc1ae4785"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00173.html">GLM_GTX_color_space</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00013_source.html">gtx/color_space.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
150
test/glm/doc/api/a00013_source.html
Normal file
150
test/glm/doc/api/a00013_source.html
Normal file
@@ -0,0 +1,150 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">gtx/color_space.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00013.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_color_space extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">rgbColor</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  vec<3, T, Q> <span class="keyword">const</span>& hsvValue);</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00173.html#ga789802bec2d4fe0f9741c731b4a8a7d8">hsvColor</a>(</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  vec<3, T, Q> <span class="keyword">const</span>& rgbValue);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">saturation</a>(</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  T <span class="keyword">const</span> s);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">saturation</a>(</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  T <span class="keyword">const</span> s,</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  vec<3, T, Q> <span class="keyword">const</span>& color);</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL vec<4, T, Q> <a class="code" href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">saturation</a>(</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  T <span class="keyword">const</span> s,</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  vec<4, T, Q> <span class="keyword">const</span>& color);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL T <a class="code" href="a00173.html#gad028e0a4f1a9c812b39439b746295b34">luminosity</a>(</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  vec<3, T, Q> <span class="keyword">const</span>& color);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include "color_space.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00173_html_gaba0eacee0736dae860e9371cc1ae4785"><div class="ttname"><a href="a00173.html#gaba0eacee0736dae860e9371cc1ae4785">glm::saturation</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 4, T, Q > saturation(T const s, vec< 4, T, Q > const &color)</div><div class="ttdoc">Modify the saturation of a color. </div></div>
|
||||
<div class="ttc" id="a00173_html_ga5f9193be46f45f0655c05a0cdca006db"><div class="ttname"><a href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > rgbColor(vec< 3, T, Q > const &hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
|
||||
<div class="ttc" id="a00173_html_ga789802bec2d4fe0f9741c731b4a8a7d8"><div class="ttname"><a href="a00173.html#ga789802bec2d4fe0f9741c731b4a8a7d8">glm::hsvColor</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > hsvColor(vec< 3, T, Q > const &rgbValue)</div><div class="ttdoc">Converts a color from RGB color space to its color in HSV color space. </div></div>
|
||||
<div class="ttc" id="a00173_html_gad028e0a4f1a9c812b39439b746295b34"><div class="ttname"><a href="a00173.html#gad028e0a4f1a9c812b39439b746295b34">glm::luminosity</a></div><div class="ttdeci">GLM_FUNC_DECL T luminosity(vec< 3, T, Q > const &color)</div><div class="ttdoc">Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
131
test/glm/doc/api/a00014.html
Normal file
131
test/glm/doc/api/a00014.html
Normal file
@@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space_YCoCg.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">color_space_YCoCg.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00174.html">GLM_GTX_color_space_YCoCg</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00014_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0606353ec2a9b9eaa84f1b02ec391bc5"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0606353ec2a9b9eaa84f1b02ec391bc5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00174.html#ga0606353ec2a9b9eaa84f1b02ec391bc5">rgb2YCoCg</a> (vec< 3, T, Q > const &rgbColor)</td></tr>
|
||||
<tr class="memdesc:ga0606353ec2a9b9eaa84f1b02ec391bc5"><td class="mdescLeft"> </td><td class="mdescRight">Convert a color from RGB color space to YCoCg color space. <a href="a00174.html#ga0606353ec2a9b9eaa84f1b02ec391bc5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0606353ec2a9b9eaa84f1b02ec391bc5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0389772e44ca0fd2ba4a79bdd8efe898"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0389772e44ca0fd2ba4a79bdd8efe898"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00174.html#ga0389772e44ca0fd2ba4a79bdd8efe898">rgb2YCoCgR</a> (vec< 3, T, Q > const &rgbColor)</td></tr>
|
||||
<tr class="memdesc:ga0389772e44ca0fd2ba4a79bdd8efe898"><td class="mdescLeft"> </td><td class="mdescRight">Convert a color from RGB color space to YCoCgR color space. <a href="a00174.html#ga0389772e44ca0fd2ba4a79bdd8efe898">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0389772e44ca0fd2ba4a79bdd8efe898"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga163596b804c7241810b2534a99eb1343"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga163596b804c7241810b2534a99eb1343"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00174.html#ga163596b804c7241810b2534a99eb1343">YCoCg2rgb</a> (vec< 3, T, Q > const &YCoCgColor)</td></tr>
|
||||
<tr class="memdesc:ga163596b804c7241810b2534a99eb1343"><td class="mdescLeft"> </td><td class="mdescRight">Convert a color from YCoCg color space to RGB color space. <a href="a00174.html#ga163596b804c7241810b2534a99eb1343">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga163596b804c7241810b2534a99eb1343"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf8d30574c8576838097d8e20c295384a"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf8d30574c8576838097d8e20c295384a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00174.html#gaf8d30574c8576838097d8e20c295384a">YCoCgR2rgb</a> (vec< 3, T, Q > const &YCoCgColor)</td></tr>
|
||||
<tr class="memdesc:gaf8d30574c8576838097d8e20c295384a"><td class="mdescLeft"> </td><td class="mdescRight">Convert a color from YCoCgR color space to RGB color space. <a href="a00174.html#gaf8d30574c8576838097d8e20c295384a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf8d30574c8576838097d8e20c295384a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00174.html">GLM_GTX_color_space_YCoCg</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00014_source.html">color_space_YCoCg.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
141
test/glm/doc/api/a00014_source.html
Normal file
141
test/glm/doc/api/a00014_source.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: color_space_YCoCg.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">color_space_YCoCg.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00014.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00174.html#ga0606353ec2a9b9eaa84f1b02ec391bc5">rgb2YCoCg</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  vec<3, T, Q> <span class="keyword">const</span>& <a class="code" href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">rgbColor</a>);</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00174.html#ga163596b804c7241810b2534a99eb1343">YCoCg2rgb</a>(</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  vec<3, T, Q> <span class="keyword">const</span>& YCoCgColor);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00174.html#ga0389772e44ca0fd2ba4a79bdd8efe898">rgb2YCoCgR</a>(</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  vec<3, T, Q> <span class="keyword">const</span>& <a class="code" href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">rgbColor</a>);</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL vec<3, T, Q> <a class="code" href="a00174.html#gaf8d30574c8576838097d8e20c295384a">YCoCgR2rgb</a>(</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  vec<3, T, Q> <span class="keyword">const</span>& YCoCgColor);</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "color_space_YCoCg.inl"</span></div>
|
||||
<div class="ttc" id="a00174_html_ga0389772e44ca0fd2ba4a79bdd8efe898"><div class="ttname"><a href="a00174.html#ga0389772e44ca0fd2ba4a79bdd8efe898">glm::rgb2YCoCgR</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR(vec< 3, T, Q > const &rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCgR color space. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00174_html_ga163596b804c7241810b2534a99eb1343"><div class="ttname"><a href="a00174.html#ga163596b804c7241810b2534a99eb1343">glm::YCoCg2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb(vec< 3, T, Q > const &YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCg color space to RGB color space. </div></div>
|
||||
<div class="ttc" id="a00174_html_gaf8d30574c8576838097d8e20c295384a"><div class="ttname"><a href="a00174.html#gaf8d30574c8576838097d8e20c295384a">glm::YCoCgR2rgb</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb(vec< 3, T, Q > const &YCoCgColor)</div><div class="ttdoc">Convert a color from YCoCgR color space to RGB color space. </div></div>
|
||||
<div class="ttc" id="a00173_html_ga5f9193be46f45f0655c05a0cdca006db"><div class="ttname"><a href="a00173.html#ga5f9193be46f45f0655c05a0cdca006db">glm::rgbColor</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > rgbColor(vec< 3, T, Q > const &hsvValue)</div><div class="ttdoc">Converts a color from HSV color space to its color in RGB color space. </div></div>
|
||||
<div class="ttc" id="a00174_html_ga0606353ec2a9b9eaa84f1b02ec391bc5"><div class="ttname"><a href="a00174.html#ga0606353ec2a9b9eaa84f1b02ec391bc5">glm::rgb2YCoCg</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg(vec< 3, T, Q > const &rgbColor)</div><div class="ttdoc">Convert a color from RGB color space to YCoCg color space. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
275
test/glm/doc/api/a00015.html
Normal file
275
test/glm/doc/api/a00015.html
Normal file
@@ -0,0 +1,275 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: common.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">common.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00015_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga693d77696ff36572a0da79efec965acd"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga693d77696ff36572a0da79efec965acd"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga693d77696ff36572a0da79efec965acd">abs</a> (genType x)</td></tr>
|
||||
<tr class="memdesc:ga693d77696ff36572a0da79efec965acd"><td class="mdescLeft"> </td><td class="mdescRight">Returns x if x >= 0; otherwise, it returns -x. <a href="a00140.html#ga693d77696ff36572a0da79efec965acd">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga693d77696ff36572a0da79efec965acd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3e141c9738c73d3e581efa471dba8b4c"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga3e141c9738c73d3e581efa471dba8b4c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga3e141c9738c73d3e581efa471dba8b4c">abs</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga3e141c9738c73d3e581efa471dba8b4c"><td class="mdescLeft"> </td><td class="mdescRight">Returns x if x >= 0; otherwise, it returns -x. <a href="a00140.html#ga3e141c9738c73d3e581efa471dba8b4c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3e141c9738c73d3e581efa471dba8b4c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gafb9d2a645a23aca12d4d6de0104b7657">ceil</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gafb9d2a645a23aca12d4d6de0104b7657"><td class="mdescLeft"> </td><td class="mdescRight">Returns a value equal to the nearest integer that is greater than or equal to x. <a href="a00140.html#gafb9d2a645a23aca12d4d6de0104b7657">More...</a><br /></td></tr>
|
||||
<tr class="separator:gafb9d2a645a23aca12d4d6de0104b7657"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a> (genType x, genType minVal, genType maxVal)</td></tr>
|
||||
<tr class="memdesc:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="mdescLeft"> </td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. <a href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga93bce26c7d80d30a62f5c508f8498a6c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gabff13e6547edac08f52b4133ff4bf183"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gabff13e6547edac08f52b4133ff4bf183"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gabff13e6547edac08f52b4133ff4bf183">clamp</a> (vec< L, T, Q > const &x, T minVal, T maxVal)</td></tr>
|
||||
<tr class="memdesc:gabff13e6547edac08f52b4133ff4bf183"><td class="mdescLeft"> </td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. <a href="a00140.html#gabff13e6547edac08f52b4133ff4bf183">More...</a><br /></td></tr>
|
||||
<tr class="separator:gabff13e6547edac08f52b4133ff4bf183"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga748333282a6f2f87762c0a4739c8c364"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga748333282a6f2f87762c0a4739c8c364"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">clamp</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)</td></tr>
|
||||
<tr class="memdesc:ga748333282a6f2f87762c0a4739c8c364"><td class="mdescLeft"> </td><td class="mdescRight">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. <a href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga748333282a6f2f87762c0a4739c8c364"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1425c1c3160ec51214b03a0469a3013d"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00140.html#ga1425c1c3160ec51214b03a0469a3013d">floatBitsToInt</a> (float const &v)</td></tr>
|
||||
<tr class="memdesc:ga1425c1c3160ec51214b03a0469a3013d"><td class="mdescLeft"> </td><td class="mdescRight">Returns a signed integer value representing the encoding of a floating-point value. <a href="a00140.html#ga1425c1c3160ec51214b03a0469a3013d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga1425c1c3160ec51214b03a0469a3013d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga99f7d62f78ac5ea3b49bae715c9488ed"><td class="memTemplParams" colspan="2">template<length_t L, qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga99f7d62f78ac5ea3b49bae715c9488ed"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, int, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga99f7d62f78ac5ea3b49bae715c9488ed">floatBitsToInt</a> (vec< L, float, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga99f7d62f78ac5ea3b49bae715c9488ed"><td class="mdescLeft"> </td><td class="mdescRight">Returns a signed integer value representing the encoding of a floating-point value. <a href="a00140.html#ga99f7d62f78ac5ea3b49bae715c9488ed">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga99f7d62f78ac5ea3b49bae715c9488ed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga70e0271c34af52f3100c7960e18c3f2b"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL uint </td><td class="memItemRight" valign="bottom"><a class="el" href="a00140.html#ga70e0271c34af52f3100c7960e18c3f2b">floatBitsToUint</a> (float const &v)</td></tr>
|
||||
<tr class="memdesc:ga70e0271c34af52f3100c7960e18c3f2b"><td class="mdescLeft"> </td><td class="mdescRight">Returns a unsigned integer value representing the encoding of a floating-point value. <a href="a00140.html#ga70e0271c34af52f3100c7960e18c3f2b">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga70e0271c34af52f3100c7960e18c3f2b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga49418ba4c8a60fbbb5d57b705f3e26db"><td class="memTemplParams" colspan="2">template<length_t L, qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga49418ba4c8a60fbbb5d57b705f3e26db"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, uint, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga49418ba4c8a60fbbb5d57b705f3e26db">floatBitsToUint</a> (vec< L, float, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga49418ba4c8a60fbbb5d57b705f3e26db"><td class="mdescLeft"> </td><td class="mdescRight">Returns a unsigned integer value representing the encoding of a floating-point value. <a href="a00140.html#ga49418ba4c8a60fbbb5d57b705f3e26db">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga49418ba4c8a60fbbb5d57b705f3e26db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa9d0742639e85b29c7c5de11cfd6840d"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaa9d0742639e85b29c7c5de11cfd6840d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">floor</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gaa9d0742639e85b29c7c5de11cfd6840d"><td class="mdescLeft"> </td><td class="mdescRight">Returns a value equal to the nearest integer that is less then or equal to x. <a href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa9d0742639e85b29c7c5de11cfd6840d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gad0f444d4b81cc53c3b6edf5aa25078c2">fma</a> (genType const &a, genType const &b, genType const &c)</td></tr>
|
||||
<tr class="memdesc:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="mdescLeft"> </td><td class="mdescRight">Computes and returns a * b + c. <a href="a00140.html#gad0f444d4b81cc53c3b6edf5aa25078c2">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad0f444d4b81cc53c3b6edf5aa25078c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga8ba89e40e55ae5cdf228548f9b7639c7">fract</a> (genType x)</td></tr>
|
||||
<tr class="memdesc:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="mdescLeft"> </td><td class="mdescRight">Return x - floor(x). <a href="a00140.html#ga8ba89e40e55ae5cdf228548f9b7639c7">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8ba89e40e55ae5cdf228548f9b7639c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2df623004f634b440d61e018d62c751b"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2df623004f634b440d61e018d62c751b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga2df623004f634b440d61e018d62c751b">fract</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga2df623004f634b440d61e018d62c751b"><td class="mdescLeft"> </td><td class="mdescRight">Return x - floor(x). <a href="a00140.html#ga2df623004f634b440d61e018d62c751b">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2df623004f634b440d61e018d62c751b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memTemplParams" colspan="2">template<typename genType , typename genIType > </td></tr>
|
||||
<tr class="memitem:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga20620e83544d1a988857a3bc4ebe0e1d">frexp</a> (genType const &x, genIType &exp)</td></tr>
|
||||
<tr class="memdesc:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="mdescLeft"> </td><td class="mdescRight">Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) <a href="a00140.html#ga20620e83544d1a988857a3bc4ebe0e1d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga20620e83544d1a988857a3bc4ebe0e1d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4fb7c21c2dce064b26fd9ccdaf9adcd4"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00140.html#ga4fb7c21c2dce064b26fd9ccdaf9adcd4">intBitsToFloat</a> (int const &v)</td></tr>
|
||||
<tr class="memdesc:ga4fb7c21c2dce064b26fd9ccdaf9adcd4"><td class="mdescLeft"> </td><td class="mdescRight">Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. <a href="a00140.html#ga4fb7c21c2dce064b26fd9ccdaf9adcd4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4fb7c21c2dce064b26fd9ccdaf9adcd4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7a0a8291a1cf3e1c2aee33030a1bd7b0"><td class="memTemplParams" colspan="2">template<length_t L, qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga7a0a8291a1cf3e1c2aee33030a1bd7b0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, float, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0">intBitsToFloat</a> (vec< L, int, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga7a0a8291a1cf3e1c2aee33030a1bd7b0"><td class="mdescLeft"> </td><td class="mdescRight">Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. <a href="a00140.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7a0a8291a1cf3e1c2aee33030a1bd7b0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2885587c23a106301f20443896365b62"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2885587c23a106301f20443896365b62"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga2885587c23a106301f20443896365b62">isinf</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga2885587c23a106301f20443896365b62"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. <a href="a00140.html#ga2885587c23a106301f20443896365b62">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2885587c23a106301f20443896365b62"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga29ef934c00306490de837b4746b4e14d"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga29ef934c00306490de837b4746b4e14d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga29ef934c00306490de837b4746b4e14d">isnan</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga29ef934c00306490de837b4746b4e14d"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. <a href="a00140.html#ga29ef934c00306490de837b4746b4e14d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga29ef934c00306490de837b4746b4e14d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga52e319d7289b849ec92055abd4830533"><td class="memTemplParams" colspan="2">template<typename genType , typename genIType > </td></tr>
|
||||
<tr class="memitem:ga52e319d7289b849ec92055abd4830533"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga52e319d7289b849ec92055abd4830533">ldexp</a> (genType const &x, genIType const &exp)</td></tr>
|
||||
<tr class="memdesc:ga52e319d7289b849ec92055abd4830533"><td class="mdescLeft"> </td><td class="mdescRight">Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) <a href="a00140.html#ga52e319d7289b849ec92055abd4830533">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga52e319d7289b849ec92055abd4830533"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga98caa7f95a94c86a86ebce893a45326c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga98caa7f95a94c86a86ebce893a45326c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga98caa7f95a94c86a86ebce893a45326c">max</a> (genType x, genType y)</td></tr>
|
||||
<tr class="memdesc:ga98caa7f95a94c86a86ebce893a45326c"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if x < y; otherwise, it returns x. <a href="a00140.html#ga98caa7f95a94c86a86ebce893a45326c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga98caa7f95a94c86a86ebce893a45326c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae8b0964d30deabd0867b8d7ac44f067e"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gae8b0964d30deabd0867b8d7ac44f067e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gae8b0964d30deabd0867b8d7ac44f067e">max</a> (vec< L, T, Q > const &x, T y)</td></tr>
|
||||
<tr class="memdesc:gae8b0964d30deabd0867b8d7ac44f067e"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if x < y; otherwise, it returns x. <a href="a00140.html#gae8b0964d30deabd0867b8d7ac44f067e">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae8b0964d30deabd0867b8d7ac44f067e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad48b723358c68d45477c22ff0101985e"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gad48b723358c68d45477c22ff0101985e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gad48b723358c68d45477c22ff0101985e">max</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y)</td></tr>
|
||||
<tr class="memdesc:gad48b723358c68d45477c22ff0101985e"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if x < y; otherwise, it returns x. <a href="a00140.html#gad48b723358c68d45477c22ff0101985e">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad48b723358c68d45477c22ff0101985e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga2c2bde1cec025b7ddff83c74a1113719">min</a> (genType x, genType y)</td></tr>
|
||||
<tr class="memdesc:ga2c2bde1cec025b7ddff83c74a1113719"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if y < x; otherwise, it returns x. <a href="a00140.html#ga2c2bde1cec025b7ddff83c74a1113719">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2c2bde1cec025b7ddff83c74a1113719"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2d274e8b537c173dba983331a2620736"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2d274e8b537c173dba983331a2620736"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga2d274e8b537c173dba983331a2620736">min</a> (vec< L, T, Q > const &x, T y)</td></tr>
|
||||
<tr class="memdesc:ga2d274e8b537c173dba983331a2620736"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if y < x; otherwise, it returns x. <a href="a00140.html#ga2d274e8b537c173dba983331a2620736">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2d274e8b537c173dba983331a2620736"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga734a374ca5c808e7bd9f74b6acfd7478"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga734a374ca5c808e7bd9f74b6acfd7478"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">min</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y)</td></tr>
|
||||
<tr class="memdesc:ga734a374ca5c808e7bd9f74b6acfd7478"><td class="mdescLeft"> </td><td class="mdescRight">Returns y if y < x; otherwise, it returns x. <a href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga734a374ca5c808e7bd9f74b6acfd7478"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8e93f374aae27d1a88b921860351f8d4"><td class="memTemplParams" colspan="2">template<typename genTypeT , typename genTypeU > </td></tr>
|
||||
<tr class="memitem:ga8e93f374aae27d1a88b921860351f8d4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genTypeT </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a> (genTypeT x, genTypeT y, genTypeU a)</td></tr>
|
||||
<tr class="memdesc:ga8e93f374aae27d1a88b921860351f8d4"><td class="mdescLeft"> </td><td class="mdescRight">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. <a href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8e93f374aae27d1a88b921860351f8d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga12201563ef902e3b07e0d1d7656efdb1">mod</a> (genType x, genType y)</td></tr>
|
||||
<tr class="memdesc:ga12201563ef902e3b07e0d1d7656efdb1"><td class="mdescLeft"> </td><td class="mdescRight">Modulus. <a href="a00140.html#ga12201563ef902e3b07e0d1d7656efdb1">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga12201563ef902e3b07e0d1d7656efdb1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad32bcde4977c7a42c80468f4061a1f55"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gad32bcde4977c7a42c80468f4061a1f55"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gad32bcde4977c7a42c80468f4061a1f55">mod</a> (vec< L, T, Q > const &x, T y)</td></tr>
|
||||
<tr class="memdesc:gad32bcde4977c7a42c80468f4061a1f55"><td class="mdescLeft"> </td><td class="mdescRight">Modulus. <a href="a00140.html#gad32bcde4977c7a42c80468f4061a1f55">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad32bcde4977c7a42c80468f4061a1f55"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5f8acc481ba553dc0e6be1aedf1ee61c"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga5f8acc481ba553dc0e6be1aedf1ee61c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">mod</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y)</td></tr>
|
||||
<tr class="memdesc:ga5f8acc481ba553dc0e6be1aedf1ee61c"><td class="mdescLeft"> </td><td class="mdescRight">Modulus. <a href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5f8acc481ba553dc0e6be1aedf1ee61c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga85e33f139b8db1b39b590a5713b9e679"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga85e33f139b8db1b39b590a5713b9e679"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga85e33f139b8db1b39b590a5713b9e679">modf</a> (genType x, genType &i)</td></tr>
|
||||
<tr class="memdesc:ga85e33f139b8db1b39b590a5713b9e679"><td class="mdescLeft"> </td><td class="mdescRight">Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). <a href="a00140.html#ga85e33f139b8db1b39b590a5713b9e679">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga85e33f139b8db1b39b590a5713b9e679"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafa03aca8c4713e1cc892aa92ca135a7e"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gafa03aca8c4713e1cc892aa92ca135a7e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gafa03aca8c4713e1cc892aa92ca135a7e">round</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gafa03aca8c4713e1cc892aa92ca135a7e"><td class="mdescLeft"> </td><td class="mdescRight">Returns a value equal to the nearest integer to x. <a href="a00140.html#gafa03aca8c4713e1cc892aa92ca135a7e">More...</a><br /></td></tr>
|
||||
<tr class="separator:gafa03aca8c4713e1cc892aa92ca135a7e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga76b81785045a057989a84d99aeeb1578"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga76b81785045a057989a84d99aeeb1578"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga76b81785045a057989a84d99aeeb1578">roundEven</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga76b81785045a057989a84d99aeeb1578"><td class="mdescLeft"> </td><td class="mdescRight">Returns a value equal to the nearest integer to x. <a href="a00140.html#ga76b81785045a057989a84d99aeeb1578">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga76b81785045a057989a84d99aeeb1578"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1e2e5cfff800056540e32f6c9b604b28"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga1e2e5cfff800056540e32f6c9b604b28"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga1e2e5cfff800056540e32f6c9b604b28">sign</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga1e2e5cfff800056540e32f6c9b604b28"><td class="mdescLeft"> </td><td class="mdescRight">Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. <a href="a00140.html#ga1e2e5cfff800056540e32f6c9b604b28">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga1e2e5cfff800056540e32f6c9b604b28"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a> (genType edge0, genType edge1, genType x)</td></tr>
|
||||
<tr class="memdesc:ga562edf7eca082cc5b7a0aaf180436daf"><td class="mdescLeft"> </td><td class="mdescRight">Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. <a href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga562edf7eca082cc5b7a0aaf180436daf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga015a1261ff23e12650211aa872863cce"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga015a1261ff23e12650211aa872863cce"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga015a1261ff23e12650211aa872863cce">step</a> (genType edge, genType x)</td></tr>
|
||||
<tr class="memdesc:ga015a1261ff23e12650211aa872863cce"><td class="mdescLeft"> </td><td class="mdescRight">Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. <a href="a00140.html#ga015a1261ff23e12650211aa872863cce">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga015a1261ff23e12650211aa872863cce"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8f9a911a48ef244b51654eaefc81c551"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga8f9a911a48ef244b51654eaefc81c551"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga8f9a911a48ef244b51654eaefc81c551">step</a> (T edge, vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga8f9a911a48ef244b51654eaefc81c551"><td class="mdescLeft"> </td><td class="mdescRight">Returns 0.0 if x < edge, otherwise it returns 1.0. <a href="a00140.html#ga8f9a911a48ef244b51654eaefc81c551">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8f9a911a48ef244b51654eaefc81c551"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf4a5fc81619c7d3e8b22f53d4a098c7f"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf4a5fc81619c7d3e8b22f53d4a098c7f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">step</a> (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gaf4a5fc81619c7d3e8b22f53d4a098c7f"><td class="mdescLeft"> </td><td class="mdescRight">Returns 0.0 if x < edge, otherwise it returns 1.0. <a href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf4a5fc81619c7d3e8b22f53d4a098c7f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf9375e3e06173271d49e6ffa3a334259"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf9375e3e06173271d49e6ffa3a334259"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#gaf9375e3e06173271d49e6ffa3a334259">trunc</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gaf9375e3e06173271d49e6ffa3a334259"><td class="mdescLeft"> </td><td class="mdescRight">Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. <a href="a00140.html#gaf9375e3e06173271d49e6ffa3a334259">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf9375e3e06173271d49e6ffa3a334259"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab2bae0d15dcdca6093f88f76b3975d97"><td class="memItemLeft" align="right" valign="top">GLM_FUNC_DECL float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00140.html#gab2bae0d15dcdca6093f88f76b3975d97">uintBitsToFloat</a> (uint const &v)</td></tr>
|
||||
<tr class="memdesc:gab2bae0d15dcdca6093f88f76b3975d97"><td class="mdescLeft"> </td><td class="mdescRight">Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. <a href="a00140.html#gab2bae0d15dcdca6093f88f76b3975d97">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab2bae0d15dcdca6093f88f76b3975d97"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga97f46b5f7b42fe44482e13356eb394ae"><td class="memTemplParams" colspan="2">template<length_t L, qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga97f46b5f7b42fe44482e13356eb394ae"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, float, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00140.html#ga97f46b5f7b42fe44482e13356eb394ae">uintBitsToFloat</a> (vec< L, uint, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga97f46b5f7b42fe44482e13356eb394ae"><td class="mdescLeft"> </td><td class="mdescRight">Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. <a href="a00140.html#ga97f46b5f7b42fe44482e13356eb394ae">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga97f46b5f7b42fe44482e13356eb394ae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a> </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00015_source.html">common.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
277
test/glm/doc/api/a00015_source.html
Normal file
277
test/glm/doc/api/a00015_source.html
Normal file
@@ -0,0 +1,277 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: common.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">common.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00015.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="a00094.html">detail/setup.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="a00082.html">detail/qualifier.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="a00106.html">detail/type_int.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="a00002.html">detail/_fixes.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga3e141c9738c73d3e581efa471dba8b4c">abs</a>(genType x);</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga3e141c9738c73d3e581efa471dba8b4c">abs</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga1e2e5cfff800056540e32f6c9b604b28">sign</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">floor</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gaf9375e3e06173271d49e6ffa3a334259">trunc</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gafa03aca8c4713e1cc892aa92ca135a7e">round</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga76b81785045a057989a84d99aeeb1578">roundEven</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gafb9d2a645a23aca12d4d6de0104b7657">ceil</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga2df623004f634b440d61e018d62c751b">fract</a>(genType x);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga2df623004f634b440d61e018d62c751b">fract</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">mod</a>(genType x, genType y);</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">mod</a>(vec<L, T, Q> <span class="keyword">const</span>& x, T y);</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">mod</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y);</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga85e33f139b8db1b39b590a5713b9e679">modf</a>(genType x, genType& i);</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">min</a>(genType x, genType y);</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">min</a>(vec<L, T, Q> <span class="keyword">const</span>& x, T y);</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">min</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y);</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#gad48b723358c68d45477c22ff0101985e">max</a>(genType x, genType y);</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gad48b723358c68d45477c22ff0101985e">max</a>(vec<L, T, Q> <span class="keyword">const</span>& x, T y);</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gad48b723358c68d45477c22ff0101985e">max</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y);</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">clamp</a>(genType x, genType minVal, genType maxVal);</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">clamp</a>(vec<L, T, Q> <span class="keyword">const</span>& x, T minVal, T maxVal);</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">clamp</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& minVal, vec<L, T, Q> <span class="keyword">const</span>& maxVal);</div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genTypeT, <span class="keyword">typename</span> genTypeU></div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  GLM_FUNC_DECL genTypeT <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(genTypeT x, genTypeT y, genTypeU a);</div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y, vec<L, U, Q> <span class="keyword">const</span>& a);</div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> U, qualifier Q></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y, U a);</div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">step</a>(genType edge, genType x);</div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">step</a>(T edge, vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">step</a>(vec<L, T, Q> <span class="keyword">const</span>& edge, vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(genType edge0, genType edge1, genType x);</div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(T edge0, T edge1, vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">smoothstep</a>(vec<L, T, Q> <span class="keyword">const</span>& edge0, vec<L, T, Q> <span class="keyword">const</span>& edge1, vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  GLM_FUNC_DECL vec<L, bool, Q> <a class="code" href="a00140.html#ga29ef934c00306490de837b4746b4e14d">isnan</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  GLM_FUNC_DECL vec<L, bool, Q> <a class="code" href="a00140.html#ga2885587c23a106301f20443896365b62">isinf</a>(vec<L, T, Q> <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  GLM_FUNC_DECL <span class="keywordtype">int</span> <a class="code" href="a00140.html#ga99f7d62f78ac5ea3b49bae715c9488ed">floatBitsToInt</a>(<span class="keywordtype">float</span> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keyword">template</span><length_t L, qualifier Q></div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  GLM_FUNC_DECL vec<L, int, Q> <a class="code" href="a00140.html#ga99f7d62f78ac5ea3b49bae715c9488ed">floatBitsToInt</a>(vec<L, float, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  GLM_FUNC_DECL <a class="code" href="a00145.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <a class="code" href="a00140.html#ga49418ba4c8a60fbbb5d57b705f3e26db">floatBitsToUint</a>(<span class="keywordtype">float</span> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">template</span><length_t L, qualifier Q></div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  GLM_FUNC_DECL vec<L, uint, Q> <a class="code" href="a00140.html#ga49418ba4c8a60fbbb5d57b705f3e26db">floatBitsToUint</a>(vec<L, float, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  GLM_FUNC_DECL <span class="keywordtype">float</span> <a class="code" href="a00140.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0">intBitsToFloat</a>(<span class="keywordtype">int</span> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> </div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keyword">template</span><length_t L, qualifier Q></div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  GLM_FUNC_DECL vec<L, float, Q> <a class="code" href="a00140.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0">intBitsToFloat</a>(vec<L, int, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> </div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  GLM_FUNC_DECL <span class="keywordtype">float</span> <a class="code" href="a00140.html#ga97f46b5f7b42fe44482e13356eb394ae">uintBitsToFloat</a>(<a class="code" href="a00145.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keyword">template</span><length_t L, qualifier Q></div>
|
||||
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  GLM_FUNC_DECL vec<L, float, Q> <a class="code" href="a00140.html#ga97f46b5f7b42fe44482e13356eb394ae">uintBitsToFloat</a>(vec<L, uint, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#gad0f444d4b81cc53c3b6edf5aa25078c2">fma</a>(genType <span class="keyword">const</span>& a, genType <span class="keyword">const</span>& b, genType <span class="keyword">const</span>& c);</div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div>
|
||||
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType></div>
|
||||
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga20620e83544d1a988857a3bc4ebe0e1d">frexp</a>(genType <span class="keyword">const</span>& x, genIType& <a class="code" href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">exp</a>);</div>
|
||||
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType, <span class="keyword">typename</span> genIType></div>
|
||||
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  GLM_FUNC_DECL genType <a class="code" href="a00140.html#ga52e319d7289b849ec92055abd4830533">ldexp</a>(genType <span class="keyword">const</span>& x, genIType <span class="keyword">const</span>& <a class="code" href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">exp</a>);</div>
|
||||
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> </div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor">#include "detail/func_common.inl"</span></div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div>
|
||||
<div class="ttc" id="a00140_html_ga1e2e5cfff800056540e32f6c9b604b28"><div class="ttname"><a href="a00140.html#ga1e2e5cfff800056540e32f6c9b604b28">glm::sign</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > sign(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga76b81785045a057989a84d99aeeb1578"><div class="ttname"><a href="a00140.html#ga76b81785045a057989a84d99aeeb1578">glm::roundEven</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
|
||||
<div class="ttc" id="a00140_html_gaf9375e3e06173271d49e6ffa3a334259"><div class="ttname"><a href="a00140.html#gaf9375e3e06173271d49e6ffa3a334259">glm::trunc</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > trunc(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga7a0a8291a1cf3e1c2aee33030a1bd7b0"><div class="ttname"><a href="a00140.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0">glm::intBitsToFloat</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat(vec< L, int, Q > const &v)</div><div class="ttdoc">Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...</div></div>
|
||||
<div class="ttc" id="a00140_html_gaf4a5fc81619c7d3e8b22f53d4a098c7f"><div class="ttname"><a href="a00140.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f">glm::step</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)</div><div class="ttdoc">Returns 0.0 if x < edge, otherwise it returns 1.0. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00140_html_gafa03aca8c4713e1cc892aa92ca135a7e"><div class="ttname"><a href="a00140.html#gafa03aca8c4713e1cc892aa92ca135a7e">glm::round</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer to x. </div></div>
|
||||
<div class="ttc" id="a00082_html"><div class="ttname"><a href="a00082.html">qualifier.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00140_html_gaa9d0742639e85b29c7c5de11cfd6840d"><div class="ttname"><a href="a00140.html#gaa9d0742639e85b29c7c5de11cfd6840d">glm::floor</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is less then or equal to x. </div></div>
|
||||
<div class="ttc" id="a00106_html"><div class="ttname"><a href="a00106.html">type_int.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00140_html_ga97f46b5f7b42fe44482e13356eb394ae"><div class="ttname"><a href="a00140.html#ga97f46b5f7b42fe44482e13356eb394ae">glm::uintBitsToFloat</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat(vec< L, uint, Q > const &v)</div><div class="ttdoc">Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...</div></div>
|
||||
<div class="ttc" id="a00140_html_gafb9d2a645a23aca12d4d6de0104b7657"><div class="ttname"><a href="a00140.html#gafb9d2a645a23aca12d4d6de0104b7657">glm::ceil</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns a value equal to the nearest integer that is greater than or equal to x. </div></div>
|
||||
<div class="ttc" id="a00140_html_gad0f444d4b81cc53c3b6edf5aa25078c2"><div class="ttname"><a href="a00140.html#gad0f444d4b81cc53c3b6edf5aa25078c2">glm::fma</a></div><div class="ttdeci">GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)</div><div class="ttdoc">Computes and returns a * b + c. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga99f7d62f78ac5ea3b49bae715c9488ed"><div class="ttname"><a href="a00140.html#ga99f7d62f78ac5ea3b49bae715c9488ed">glm::floatBitsToInt</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt(vec< L, float, Q > const &v)</div><div class="ttdoc">Returns a signed integer value representing the encoding of a floating-point value. </div></div>
|
||||
<div class="ttc" id="a00141_html_ga071566cadc7505455e611f2a0353f4d4"><div class="ttname"><a href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">glm::exp</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the natural exponentiation of x, i.e., e^x. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga49418ba4c8a60fbbb5d57b705f3e26db"><div class="ttname"><a href="a00140.html#ga49418ba4c8a60fbbb5d57b705f3e26db">glm::floatBitsToUint</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint(vec< L, float, Q > const &v)</div><div class="ttdoc">Returns a unsigned integer value representing the encoding of a floating-point value. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga2885587c23a106301f20443896365b62"><div class="ttname"><a href="a00140.html#ga2885587c23a106301f20443896365b62">glm::isinf</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...</div></div>
|
||||
<div class="ttc" id="a00140_html_gad48b723358c68d45477c22ff0101985e"><div class="ttname"><a href="a00140.html#gad48b723358c68d45477c22ff0101985e">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)</div><div class="ttdoc">Returns y if x < y; otherwise, it returns x. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga5f8acc481ba553dc0e6be1aedf1ee61c"><div class="ttname"><a href="a00140.html#ga5f8acc481ba553dc0e6be1aedf1ee61c">glm::mod</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > mod(vec< L, T, Q > const &x, vec< L, T, Q > const &y)</div><div class="ttdoc">Modulus. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga52e319d7289b849ec92055abd4830533"><div class="ttname"><a href="a00140.html#ga52e319d7289b849ec92055abd4830533">glm::ldexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType ldexp(genType const &x, genIType const &exp)</div><div class="ttdoc">Builds a floating-point number from x and the corresponding integral exponent of two in exp...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga8e93f374aae27d1a88b921860351f8d4"><div class="ttname"><a href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga734a374ca5c808e7bd9f74b6acfd7478"><div class="ttname"><a href="a00140.html#ga734a374ca5c808e7bd9f74b6acfd7478">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)</div><div class="ttdoc">Returns y if y < x; otherwise, it returns x. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga85e33f139b8db1b39b590a5713b9e679"><div class="ttname"><a href="a00140.html#ga85e33f139b8db1b39b590a5713b9e679">glm::modf</a></div><div class="ttdeci">GLM_FUNC_DECL genType modf(genType x, genType &i)</div><div class="ttdoc">Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga3e141c9738c73d3e581efa471dba8b4c"><div class="ttname"><a href="a00140.html#ga3e141c9738c73d3e581efa471dba8b4c">glm::abs</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > abs(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns x if x >= 0; otherwise, it returns -x. </div></div>
|
||||
<div class="ttc" id="a00140_html_ga562edf7eca082cc5b7a0aaf180436daf"><div class="ttname"><a href="a00140.html#ga562edf7eca082cc5b7a0aaf180436daf">glm::smoothstep</a></div><div class="ttdeci">GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)</div><div class="ttdoc">Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga29ef934c00306490de837b4746b4e14d"><div class="ttname"><a href="a00140.html#ga29ef934c00306490de837b4746b4e14d">glm::isnan</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...</div></div>
|
||||
<div class="ttc" id="a00094_html"><div class="ttname"><a href="a00094.html">setup.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00002_html"><div class="ttname"><a href="a00002.html">_fixes.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00145_html_ga91ad9478d81a7aaf2593e8d9c3d06a14"><div class="ttname"><a href="a00145.html#ga91ad9478d81a7aaf2593e8d9c3d06a14">glm::uint</a></div><div class="ttdeci">unsigned int uint</div><div class="ttdoc">Unsigned integer type. </div><div class="ttdef"><b>Definition:</b> <a href="a00106_source.html#l00288">type_int.hpp:288</a></div></div>
|
||||
<div class="ttc" id="a00140_html_ga20620e83544d1a988857a3bc4ebe0e1d"><div class="ttname"><a href="a00140.html#ga20620e83544d1a988857a3bc4ebe0e1d">glm::frexp</a></div><div class="ttdeci">GLM_FUNC_DECL genType frexp(genType const &x, genIType &exp)</div><div class="ttdoc">Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...</div></div>
|
||||
<div class="ttc" id="a00140_html_ga2df623004f634b440d61e018d62c751b"><div class="ttname"><a href="a00140.html#ga2df623004f634b440d61e018d62c751b">glm::fract</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > fract(vec< L, T, Q > const &x)</div><div class="ttdoc">Return x - floor(x). </div></div>
|
||||
<div class="ttc" id="a00140_html_ga748333282a6f2f87762c0a4739c8c364"><div class="ttname"><a href="a00140.html#ga748333282a6f2f87762c0a4739c8c364">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
123
test/glm/doc/api/a00016.html
Normal file
123
test/glm/doc/api/a00016.html
Normal file
@@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: common.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">gtx/common.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00175.html">GLM_GTX_common</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00016_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gae5e80425df9833164ad469e83b475fb4"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gae5e80425df9833164ad469e83b475fb4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00175.html#gae5e80425df9833164ad469e83b475fb4">fmod</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:gae5e80425df9833164ad469e83b475fb4"><td class="mdescLeft"> </td><td class="mdescRight">Similar to 'mod' but with a different rounding and integer support. <a href="a00175.html#gae5e80425df9833164ad469e83b475fb4">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae5e80425df9833164ad469e83b475fb4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::bool_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00175.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a> (genType const &x)</td></tr>
|
||||
<tr class="memdesc:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. <a href="a00175.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga74aa7c7462245d83bd5a9edf9c6c2d91"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00175.html">GLM_GTX_common</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00016_source.html">gtx/common.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
131
test/glm/doc/api/a00016_source.html
Normal file
131
test/glm/doc/api/a00016_source.html
Normal file
@@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: common.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">gtx/common.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00016.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependencies:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../vec2.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../vec3.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../vec4.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../gtc/vec1.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"># error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_common extension included")</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::bool_type <a class="code" href="a00175.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">isdenormal</a>(genType <span class="keyword">const</span>& x);</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00175.html#gae5e80425df9833164ad469e83b475fb4">fmod</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "common.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00175_html_gae5e80425df9833164ad469e83b475fb4"><div class="ttname"><a href="a00175.html#gae5e80425df9833164ad469e83b475fb4">glm::fmod</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > fmod(vec< L, T, Q > const &v)</div><div class="ttdoc">Similar to 'mod' but with a different rounding and integer support. </div></div>
|
||||
<div class="ttc" id="a00175_html_ga74aa7c7462245d83bd5a9edf9c6c2d91"><div class="ttname"><a href="a00175.html#ga74aa7c7462245d83bd5a9edf9c6c2d91">glm::isdenormal</a></div><div class="ttdeci">GLM_FUNC_DECL genType::bool_type isdenormal(genType const &x)</div><div class="ttdoc">Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
443
test/glm/doc/api/a00017.html
Normal file
443
test/glm/doc/api/a00017.html
Normal file
@@ -0,0 +1,443 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: compatibility.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#typedef-members">Typedefs</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">compatibility.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00176.html">GLM_GTX_compatibility</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00017_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
||||
Typedefs</h2></td></tr>
|
||||
<tr class="memitem:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaddcd7aa2e30e61af5b38660613d3979e"></a>
|
||||
typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a></td></tr>
|
||||
<tr class="memdesc:gaddcd7aa2e30e61af5b38660613d3979e"><td class="mdescLeft"> </td><td class="mdescRight">boolean type with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaddcd7aa2e30e61af5b38660613d3979e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7f895c936f0c29c8729afbbf22806090"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f895c936f0c29c8729afbbf22806090"></a>
|
||||
typedef bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a></td></tr>
|
||||
<tr class="memdesc:ga7f895c936f0c29c8729afbbf22806090"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga7f895c936f0c29c8729afbbf22806090"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa09ab65ec9c3c54305ff502e2b1fe6d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa09ab65ec9c3c54305ff502e2b1fe6d9"></a>
|
||||
typedef vec< 2, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9">bool2</a></td></tr>
|
||||
<tr class="memdesc:gaa09ab65ec9c3c54305ff502e2b1fe6d9"><td class="mdescLeft"> </td><td class="mdescRight">boolean type with 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaa09ab65ec9c3c54305ff502e2b1fe6d9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gadb3703955e513632f98ba12fe051ba3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadb3703955e513632f98ba12fe051ba3e"></a>
|
||||
typedef mat< 2, 2, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gadb3703955e513632f98ba12fe051ba3e">bool2x2</a></td></tr>
|
||||
<tr class="memdesc:gadb3703955e513632f98ba12fe051ba3e"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gadb3703955e513632f98ba12fe051ba3e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9ae6ee155d0f90cb1ae5b6c4546738a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9ae6ee155d0f90cb1ae5b6c4546738a0"></a>
|
||||
typedef mat< 2, 3, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0">bool2x3</a></td></tr>
|
||||
<tr class="memdesc:ga9ae6ee155d0f90cb1ae5b6c4546738a0"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga9ae6ee155d0f90cb1ae5b6c4546738a0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4d7fa65be8e8e4ad6d920b45c44e471f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d7fa65be8e8e4ad6d920b45c44e471f"></a>
|
||||
typedef mat< 2, 4, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga4d7fa65be8e8e4ad6d920b45c44e471f">bool2x4</a></td></tr>
|
||||
<tr class="memdesc:ga4d7fa65be8e8e4ad6d920b45c44e471f"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga4d7fa65be8e8e4ad6d920b45c44e471f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga99629f818737f342204071ef8296b2ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga99629f818737f342204071ef8296b2ed"></a>
|
||||
typedef vec< 3, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga99629f818737f342204071ef8296b2ed">bool3</a></td></tr>
|
||||
<tr class="memdesc:ga99629f818737f342204071ef8296b2ed"><td class="mdescLeft"> </td><td class="mdescRight">boolean type with 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga99629f818737f342204071ef8296b2ed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac7d7311f7e0fa8b6163d96dab033a755"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac7d7311f7e0fa8b6163d96dab033a755"></a>
|
||||
typedef mat< 3, 2, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gac7d7311f7e0fa8b6163d96dab033a755">bool3x2</a></td></tr>
|
||||
<tr class="memdesc:gac7d7311f7e0fa8b6163d96dab033a755"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gac7d7311f7e0fa8b6163d96dab033a755"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga6c97b99aac3e302053ffb58aace9033c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6c97b99aac3e302053ffb58aace9033c"></a>
|
||||
typedef mat< 3, 3, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga6c97b99aac3e302053ffb58aace9033c">bool3x3</a></td></tr>
|
||||
<tr class="memdesc:ga6c97b99aac3e302053ffb58aace9033c"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga6c97b99aac3e302053ffb58aace9033c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae7d6b679463d37d6c527d478fb470fdf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae7d6b679463d37d6c527d478fb470fdf"></a>
|
||||
typedef mat< 3, 4, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gae7d6b679463d37d6c527d478fb470fdf">bool3x4</a></td></tr>
|
||||
<tr class="memdesc:gae7d6b679463d37d6c527d478fb470fdf"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gae7d6b679463d37d6c527d478fb470fdf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga13c3200b82708f73faac6d7f09ec91a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga13c3200b82708f73faac6d7f09ec91a3"></a>
|
||||
typedef vec< 4, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga13c3200b82708f73faac6d7f09ec91a3">bool4</a></td></tr>
|
||||
<tr class="memdesc:ga13c3200b82708f73faac6d7f09ec91a3"><td class="mdescLeft"> </td><td class="mdescRight">boolean type with 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga13c3200b82708f73faac6d7f09ec91a3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9ed830f52408b2f83c085063a3eaf1d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9ed830f52408b2f83c085063a3eaf1d0"></a>
|
||||
typedef mat< 4, 2, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga9ed830f52408b2f83c085063a3eaf1d0">bool4x2</a></td></tr>
|
||||
<tr class="memdesc:ga9ed830f52408b2f83c085063a3eaf1d0"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga9ed830f52408b2f83c085063a3eaf1d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad0f5dc7f22c2065b1b06d57f1c0658fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad0f5dc7f22c2065b1b06d57f1c0658fe"></a>
|
||||
typedef mat< 4, 3, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gad0f5dc7f22c2065b1b06d57f1c0658fe">bool4x3</a></td></tr>
|
||||
<tr class="memdesc:gad0f5dc7f22c2065b1b06d57f1c0658fe"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gad0f5dc7f22c2065b1b06d57f1c0658fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7d2a7d13986602ae2896bfaa394235d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7d2a7d13986602ae2896bfaa394235d4"></a>
|
||||
typedef mat< 4, 4, bool, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga7d2a7d13986602ae2896bfaa394235d4">bool4x4</a></td></tr>
|
||||
<tr class="memdesc:ga7d2a7d13986602ae2896bfaa394235d4"><td class="mdescLeft"> </td><td class="mdescRight">boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga7d2a7d13986602ae2896bfaa394235d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga20b861a9b6e2a300323671c57a02525b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20b861a9b6e2a300323671c57a02525b"></a>
|
||||
typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga20b861a9b6e2a300323671c57a02525b">double1</a></td></tr>
|
||||
<tr class="memdesc:ga20b861a9b6e2a300323671c57a02525b"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga20b861a9b6e2a300323671c57a02525b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga45f16a4dd0db1f199afaed9fd12fe9a8"></a>
|
||||
typedef double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a></td></tr>
|
||||
<tr class="memdesc:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga45f16a4dd0db1f199afaed9fd12fe9a8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga31b729b04facccda73f07ed26958b3c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga31b729b04facccda73f07ed26958b3c2"></a>
|
||||
typedef vec< 2, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga31b729b04facccda73f07ed26958b3c2">double2</a></td></tr>
|
||||
<tr class="memdesc:ga31b729b04facccda73f07ed26958b3c2"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga31b729b04facccda73f07ed26958b3c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae57d0201096834d25f2b91b319e7cdbd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae57d0201096834d25f2b91b319e7cdbd"></a>
|
||||
typedef mat< 2, 2, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gae57d0201096834d25f2b91b319e7cdbd">double2x2</a></td></tr>
|
||||
<tr class="memdesc:gae57d0201096834d25f2b91b319e7cdbd"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gae57d0201096834d25f2b91b319e7cdbd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3655bc324008553ca61f39952d0b2d08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3655bc324008553ca61f39952d0b2d08"></a>
|
||||
typedef mat< 2, 3, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga3655bc324008553ca61f39952d0b2d08">double2x3</a></td></tr>
|
||||
<tr class="memdesc:ga3655bc324008553ca61f39952d0b2d08"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga3655bc324008553ca61f39952d0b2d08"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacd33061fc64a7b2dcfd7322c49d9557a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacd33061fc64a7b2dcfd7322c49d9557a"></a>
|
||||
typedef mat< 2, 4, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gacd33061fc64a7b2dcfd7322c49d9557a">double2x4</a></td></tr>
|
||||
<tr class="memdesc:gacd33061fc64a7b2dcfd7322c49d9557a"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gacd33061fc64a7b2dcfd7322c49d9557a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3d8b9028a1053a44a98902cd1c389472"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3d8b9028a1053a44a98902cd1c389472"></a>
|
||||
typedef vec< 3, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga3d8b9028a1053a44a98902cd1c389472">double3</a></td></tr>
|
||||
<tr class="memdesc:ga3d8b9028a1053a44a98902cd1c389472"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga3d8b9028a1053a44a98902cd1c389472"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5ec08fc39c9d783dfcc488be240fe975"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5ec08fc39c9d783dfcc488be240fe975"></a>
|
||||
typedef mat< 3, 2, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga5ec08fc39c9d783dfcc488be240fe975">double3x2</a></td></tr>
|
||||
<tr class="memdesc:ga5ec08fc39c9d783dfcc488be240fe975"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga5ec08fc39c9d783dfcc488be240fe975"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4bad5bb20c6ddaecfe4006c93841d180"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4bad5bb20c6ddaecfe4006c93841d180"></a>
|
||||
typedef mat< 3, 3, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga4bad5bb20c6ddaecfe4006c93841d180">double3x3</a></td></tr>
|
||||
<tr class="memdesc:ga4bad5bb20c6ddaecfe4006c93841d180"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga4bad5bb20c6ddaecfe4006c93841d180"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2ef022e453d663d70aec414b2a80f756"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2ef022e453d663d70aec414b2a80f756"></a>
|
||||
typedef mat< 3, 4, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga2ef022e453d663d70aec414b2a80f756">double3x4</a></td></tr>
|
||||
<tr class="memdesc:ga2ef022e453d663d70aec414b2a80f756"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga2ef022e453d663d70aec414b2a80f756"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf92f58af24f35617518aeb3d4f63fda6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf92f58af24f35617518aeb3d4f63fda6"></a>
|
||||
typedef vec< 4, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaf92f58af24f35617518aeb3d4f63fda6">double4</a></td></tr>
|
||||
<tr class="memdesc:gaf92f58af24f35617518aeb3d4f63fda6"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaf92f58af24f35617518aeb3d4f63fda6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gabca29ccceea53669618b751aae0ba83d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabca29ccceea53669618b751aae0ba83d"></a>
|
||||
typedef mat< 4, 2, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gabca29ccceea53669618b751aae0ba83d">double4x2</a></td></tr>
|
||||
<tr class="memdesc:gabca29ccceea53669618b751aae0ba83d"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gabca29ccceea53669618b751aae0ba83d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafad66a02ccd360c86d6ab9ff9cfbc19c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafad66a02ccd360c86d6ab9ff9cfbc19c"></a>
|
||||
typedef mat< 4, 3, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gafad66a02ccd360c86d6ab9ff9cfbc19c">double4x3</a></td></tr>
|
||||
<tr class="memdesc:gafad66a02ccd360c86d6ab9ff9cfbc19c"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gafad66a02ccd360c86d6ab9ff9cfbc19c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaab541bed2e788e4537852a2492860806"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaab541bed2e788e4537852a2492860806"></a>
|
||||
typedef mat< 4, 4, double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaab541bed2e788e4537852a2492860806">double4x4</a></td></tr>
|
||||
<tr class="memdesc:gaab541bed2e788e4537852a2492860806"><td class="mdescLeft"> </td><td class="mdescRight">double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaab541bed2e788e4537852a2492860806"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf5208d01f6c6fbcb7bb55d610b9c0ead"></a>
|
||||
typedef float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a></td></tr>
|
||||
<tr class="memdesc:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaf5208d01f6c6fbcb7bb55d610b9c0ead"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga73720b8dc4620835b17f74d428f98c0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga73720b8dc4620835b17f74d428f98c0c"></a>
|
||||
typedef float </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a></td></tr>
|
||||
<tr class="memdesc:ga73720b8dc4620835b17f74d428f98c0c"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga73720b8dc4620835b17f74d428f98c0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga02d3c013982c183906c61d74aa3166ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02d3c013982c183906c61d74aa3166ce"></a>
|
||||
typedef vec< 2, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga02d3c013982c183906c61d74aa3166ce">float2</a></td></tr>
|
||||
<tr class="memdesc:ga02d3c013982c183906c61d74aa3166ce"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga02d3c013982c183906c61d74aa3166ce"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga33d43ecbb60a85a1366ff83f8a0ec85f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga33d43ecbb60a85a1366ff83f8a0ec85f"></a>
|
||||
typedef mat< 2, 2, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga33d43ecbb60a85a1366ff83f8a0ec85f">float2x2</a></td></tr>
|
||||
<tr class="memdesc:ga33d43ecbb60a85a1366ff83f8a0ec85f"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga33d43ecbb60a85a1366ff83f8a0ec85f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga939b0cff15cee3030f75c1b2e36f89fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga939b0cff15cee3030f75c1b2e36f89fe"></a>
|
||||
typedef mat< 2, 3, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga939b0cff15cee3030f75c1b2e36f89fe">float2x3</a></td></tr>
|
||||
<tr class="memdesc:ga939b0cff15cee3030f75c1b2e36f89fe"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga939b0cff15cee3030f75c1b2e36f89fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafec3cfd901ab334a92e0242b8f2269b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafec3cfd901ab334a92e0242b8f2269b4"></a>
|
||||
typedef mat< 2, 4, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gafec3cfd901ab334a92e0242b8f2269b4">float2x4</a></td></tr>
|
||||
<tr class="memdesc:gafec3cfd901ab334a92e0242b8f2269b4"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gafec3cfd901ab334a92e0242b8f2269b4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga821ff110fc8533a053cbfcc93e078cc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga821ff110fc8533a053cbfcc93e078cc0"></a>
|
||||
typedef vec< 3, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga821ff110fc8533a053cbfcc93e078cc0">float3</a></td></tr>
|
||||
<tr class="memdesc:ga821ff110fc8533a053cbfcc93e078cc0"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga821ff110fc8533a053cbfcc93e078cc0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa6c69f04ba95f3faedf95dae874de576"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa6c69f04ba95f3faedf95dae874de576"></a>
|
||||
typedef mat< 3, 2, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaa6c69f04ba95f3faedf95dae874de576">float3x2</a></td></tr>
|
||||
<tr class="memdesc:gaa6c69f04ba95f3faedf95dae874de576"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaa6c69f04ba95f3faedf95dae874de576"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga6ceb5d38a58becdf420026e12a6562f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ceb5d38a58becdf420026e12a6562f3"></a>
|
||||
typedef mat< 3, 3, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga6ceb5d38a58becdf420026e12a6562f3">float3x3</a></td></tr>
|
||||
<tr class="memdesc:ga6ceb5d38a58becdf420026e12a6562f3"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga6ceb5d38a58becdf420026e12a6562f3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4d2679c321b793ca3784fe0315bb5332"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d2679c321b793ca3784fe0315bb5332"></a>
|
||||
typedef mat< 3, 4, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga4d2679c321b793ca3784fe0315bb5332">float3x4</a></td></tr>
|
||||
<tr class="memdesc:ga4d2679c321b793ca3784fe0315bb5332"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga4d2679c321b793ca3784fe0315bb5332"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae2da7345087db3815a25d8837a727ef1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae2da7345087db3815a25d8837a727ef1"></a>
|
||||
typedef vec< 4, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gae2da7345087db3815a25d8837a727ef1">float4</a></td></tr>
|
||||
<tr class="memdesc:gae2da7345087db3815a25d8837a727ef1"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gae2da7345087db3815a25d8837a727ef1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga308b9af0c221145bcfe9bfc129d9098e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga308b9af0c221145bcfe9bfc129d9098e"></a>
|
||||
typedef mat< 4, 2, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga308b9af0c221145bcfe9bfc129d9098e">float4x2</a></td></tr>
|
||||
<tr class="memdesc:ga308b9af0c221145bcfe9bfc129d9098e"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga308b9af0c221145bcfe9bfc129d9098e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac0a51b4812038aa81d73ffcc37f741ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac0a51b4812038aa81d73ffcc37f741ac"></a>
|
||||
typedef mat< 4, 3, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gac0a51b4812038aa81d73ffcc37f741ac">float4x3</a></td></tr>
|
||||
<tr class="memdesc:gac0a51b4812038aa81d73ffcc37f741ac"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gac0a51b4812038aa81d73ffcc37f741ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad3051649b3715d828a4ab92cdae7c3bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad3051649b3715d828a4ab92cdae7c3bf"></a>
|
||||
typedef mat< 4, 4, float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gad3051649b3715d828a4ab92cdae7c3bf">float4x4</a></td></tr>
|
||||
<tr class="memdesc:gad3051649b3715d828a4ab92cdae7c3bf"><td class="mdescLeft"> </td><td class="mdescRight">single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gad3051649b3715d828a4ab92cdae7c3bf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0670a2111b5e4a6410bd027fa0232fc3"></a>
|
||||
typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a></td></tr>
|
||||
<tr class="memdesc:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="mdescLeft"> </td><td class="mdescRight">integer vector with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga0670a2111b5e4a6410bd027fa0232fc3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga056ffe02d3a45af626f8e62221881c7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga056ffe02d3a45af626f8e62221881c7a"></a>
|
||||
typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a></td></tr>
|
||||
<tr class="memdesc:ga056ffe02d3a45af626f8e62221881c7a"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 1 component. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga056ffe02d3a45af626f8e62221881c7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gafe3a8fd56354caafe24bfe1b1e3ad22a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafe3a8fd56354caafe24bfe1b1e3ad22a"></a>
|
||||
typedef vec< 2, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gafe3a8fd56354caafe24bfe1b1e3ad22a">int2</a></td></tr>
|
||||
<tr class="memdesc:gafe3a8fd56354caafe24bfe1b1e3ad22a"><td class="mdescLeft"> </td><td class="mdescRight">integer vector with 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gafe3a8fd56354caafe24bfe1b1e3ad22a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4e5ce477c15836b21e3c42daac68554d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4e5ce477c15836b21e3c42daac68554d"></a>
|
||||
typedef mat< 2, 2, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga4e5ce477c15836b21e3c42daac68554d">int2x2</a></td></tr>
|
||||
<tr class="memdesc:ga4e5ce477c15836b21e3c42daac68554d"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga4e5ce477c15836b21e3c42daac68554d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga197ded5ad8354f6b6fb91189d7a269b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga197ded5ad8354f6b6fb91189d7a269b3"></a>
|
||||
typedef mat< 2, 3, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga197ded5ad8354f6b6fb91189d7a269b3">int2x3</a></td></tr>
|
||||
<tr class="memdesc:ga197ded5ad8354f6b6fb91189d7a269b3"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga197ded5ad8354f6b6fb91189d7a269b3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2749d59a7fddbac44f34ba78e57ef807"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2749d59a7fddbac44f34ba78e57ef807"></a>
|
||||
typedef mat< 2, 4, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga2749d59a7fddbac44f34ba78e57ef807">int2x4</a></td></tr>
|
||||
<tr class="memdesc:ga2749d59a7fddbac44f34ba78e57ef807"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga2749d59a7fddbac44f34ba78e57ef807"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga909c38a425f215a50c847145d7da09f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga909c38a425f215a50c847145d7da09f0"></a>
|
||||
typedef vec< 3, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga909c38a425f215a50c847145d7da09f0">int3</a></td></tr>
|
||||
<tr class="memdesc:ga909c38a425f215a50c847145d7da09f0"><td class="mdescLeft"> </td><td class="mdescRight">integer vector with 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga909c38a425f215a50c847145d7da09f0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa4cbe16a92cf3664376c7a2fc5126aa8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa4cbe16a92cf3664376c7a2fc5126aa8"></a>
|
||||
typedef mat< 3, 2, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaa4cbe16a92cf3664376c7a2fc5126aa8">int3x2</a></td></tr>
|
||||
<tr class="memdesc:gaa4cbe16a92cf3664376c7a2fc5126aa8"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaa4cbe16a92cf3664376c7a2fc5126aa8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga15c9649286f0bf431bdf9b3509580048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga15c9649286f0bf431bdf9b3509580048"></a>
|
||||
typedef mat< 3, 3, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga15c9649286f0bf431bdf9b3509580048">int3x3</a></td></tr>
|
||||
<tr class="memdesc:ga15c9649286f0bf431bdf9b3509580048"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga15c9649286f0bf431bdf9b3509580048"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaacac46ddc7d15d0f9529d05c92946a0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaacac46ddc7d15d0f9529d05c92946a0f"></a>
|
||||
typedef mat< 3, 4, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaacac46ddc7d15d0f9529d05c92946a0f">int3x4</a></td></tr>
|
||||
<tr class="memdesc:gaacac46ddc7d15d0f9529d05c92946a0f"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaacac46ddc7d15d0f9529d05c92946a0f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaecdef18c819c205aeee9f94dc93de56a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaecdef18c819c205aeee9f94dc93de56a"></a>
|
||||
typedef vec< 4, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gaecdef18c819c205aeee9f94dc93de56a">int4</a></td></tr>
|
||||
<tr class="memdesc:gaecdef18c819c205aeee9f94dc93de56a"><td class="mdescLeft"> </td><td class="mdescRight">integer vector with 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gaecdef18c819c205aeee9f94dc93de56a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga97a39dd9bc7d572810d80b8467cbffa1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga97a39dd9bc7d572810d80b8467cbffa1"></a>
|
||||
typedef mat< 4, 2, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga97a39dd9bc7d572810d80b8467cbffa1">int4x2</a></td></tr>
|
||||
<tr class="memdesc:ga97a39dd9bc7d572810d80b8467cbffa1"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga97a39dd9bc7d572810d80b8467cbffa1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae4a2c53f14aeec9a17c2b81142b7e82d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae4a2c53f14aeec9a17c2b81142b7e82d"></a>
|
||||
typedef mat< 4, 3, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#gae4a2c53f14aeec9a17c2b81142b7e82d">int4x3</a></td></tr>
|
||||
<tr class="memdesc:gae4a2c53f14aeec9a17c2b81142b7e82d"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:gae4a2c53f14aeec9a17c2b81142b7e82d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga04dee1552424198b8f58b377c2ee00d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga04dee1552424198b8f58b377c2ee00d8"></a>
|
||||
typedef mat< 4, 4, int, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00176.html#ga04dee1552424198b8f58b377c2ee00d8">int4x4</a></td></tr>
|
||||
<tr class="memdesc:ga04dee1552424198b8f58b377c2ee00d8"><td class="mdescLeft"> </td><td class="mdescRight">integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) <br /></td></tr>
|
||||
<tr class="separator:ga04dee1552424198b8f58b377c2ee00d8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac63011205bf6d0be82589dc56dd26708"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac63011205bf6d0be82589dc56dd26708"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gac63011205bf6d0be82589dc56dd26708">atan2</a> (T x, T y)</td></tr>
|
||||
<tr class="memdesc:gac63011205bf6d0be82589dc56dd26708"><td class="mdescLeft"> </td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gac63011205bf6d0be82589dc56dd26708"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga83bc41bd6f89113ee8006576b12bfc50"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 2, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga83bc41bd6f89113ee8006576b12bfc50">atan2</a> (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)</td></tr>
|
||||
<tr class="memdesc:ga83bc41bd6f89113ee8006576b12bfc50"><td class="mdescLeft"> </td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga83bc41bd6f89113ee8006576b12bfc50"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac39314f5087e7e51e592897cabbc1927"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac39314f5087e7e51e592897cabbc1927"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gac39314f5087e7e51e592897cabbc1927">atan2</a> (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)</td></tr>
|
||||
<tr class="memdesc:gac39314f5087e7e51e592897cabbc1927"><td class="mdescLeft"> </td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gac39314f5087e7e51e592897cabbc1927"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaba86c28da7bf5bdac64fecf7d56e8ff3"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a> (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)</td></tr>
|
||||
<tr class="memdesc:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="mdescLeft"> </td><td class="mdescRight">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gaba86c28da7bf5bdac64fecf7d56e8ff3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf4b04dcd3526996d68c1bfe17bfc8657"></a>
|
||||
template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gaf4b04dcd3526996d68c1bfe17bfc8657">isfinite</a> (genType const &x)</td></tr>
|
||||
<tr class="memdesc:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="mdescLeft"> </td><td class="mdescRight">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gaf4b04dcd3526996d68c1bfe17bfc8657"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac3b12b8ac3014418fe53c299478b6603"><td class="memTemplParams" colspan="2"><a class="anchor" id="gac3b12b8ac3014418fe53c299478b6603"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac3b12b8ac3014418fe53c299478b6603"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 1, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gac3b12b8ac3014418fe53c299478b6603">isfinite</a> (const vec< 1, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:gac3b12b8ac3014418fe53c299478b6603"><td class="mdescLeft"> </td><td class="mdescRight">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gac3b12b8ac3014418fe53c299478b6603"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8e76dc3e406ce6a4155c2b12a2e4b084"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8e76dc3e406ce6a4155c2b12a2e4b084"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga8e76dc3e406ce6a4155c2b12a2e4b084"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 2, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga8e76dc3e406ce6a4155c2b12a2e4b084">isfinite</a> (const vec< 2, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:ga8e76dc3e406ce6a4155c2b12a2e4b084"><td class="mdescLeft"> </td><td class="mdescRight">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga8e76dc3e406ce6a4155c2b12a2e4b084"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga929ef27f896d902c1771a2e5e150fc97"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga929ef27f896d902c1771a2e5e150fc97"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga929ef27f896d902c1771a2e5e150fc97"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 3, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga929ef27f896d902c1771a2e5e150fc97">isfinite</a> (const vec< 3, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:ga929ef27f896d902c1771a2e5e150fc97"><td class="mdescLeft"> </td><td class="mdescRight">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga929ef27f896d902c1771a2e5e150fc97"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga19925badbe10ce61df1d0de00be0b5ad"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga19925badbe10ce61df1d0de00be0b5ad"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga19925badbe10ce61df1d0de00be0b5ad"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< 4, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a> (const vec< 4, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:ga19925badbe10ce61df1d0de00be0b5ad"><td class="mdescLeft"> </td><td class="mdescRight">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga19925badbe10ce61df1d0de00be0b5ad"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5494ba3a95ea6594c86fc75236886864"></a>
|
||||
template<typename T > </td></tr>
|
||||
<tr class="memitem:ga5494ba3a95ea6594c86fc75236886864"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga5494ba3a95ea6594c86fc75236886864">lerp</a> (T x, T y, T a)</td></tr>
|
||||
<tr class="memdesc:ga5494ba3a95ea6594c86fc75236886864"><td class="mdescLeft"> </td><td class="mdescRight">Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga5494ba3a95ea6594c86fc75236886864"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa551c0a0e16d2d4608e49f7696df897f"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa551c0a0e16d2d4608e49f7696df897f"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaa551c0a0e16d2d4608e49f7696df897f"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 2, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gaa551c0a0e16d2d4608e49f7696df897f">lerp</a> (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)</td></tr>
|
||||
<tr class="memdesc:gaa551c0a0e16d2d4608e49f7696df897f"><td class="mdescLeft"> </td><td class="mdescRight">Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gaa551c0a0e16d2d4608e49f7696df897f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga44a8b5fd776320f1713413dec959b32a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga44a8b5fd776320f1713413dec959b32a"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga44a8b5fd776320f1713413dec959b32a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga44a8b5fd776320f1713413dec959b32a">lerp</a> (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)</td></tr>
|
||||
<tr class="memdesc:ga44a8b5fd776320f1713413dec959b32a"><td class="mdescLeft"> </td><td class="mdescRight">Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga44a8b5fd776320f1713413dec959b32a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga89ac8e000199292ec7875519d27e214b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga89ac8e000199292ec7875519d27e214b"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga89ac8e000199292ec7875519d27e214b"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga89ac8e000199292ec7875519d27e214b">lerp</a> (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)</td></tr>
|
||||
<tr class="memdesc:ga89ac8e000199292ec7875519d27e214b"><td class="mdescLeft"> </td><td class="mdescRight">Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga89ac8e000199292ec7875519d27e214b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf68de5baf72d16135368b8ef4f841604"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaf68de5baf72d16135368b8ef4f841604"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf68de5baf72d16135368b8ef4f841604"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 2, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gaf68de5baf72d16135368b8ef4f841604">lerp</a> (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)</td></tr>
|
||||
<tr class="memdesc:gaf68de5baf72d16135368b8ef4f841604"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gaf68de5baf72d16135368b8ef4f841604"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4ae1a616c8540a2649eab8e0cd051bb3"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga4ae1a616c8540a2649eab8e0cd051bb3"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga4ae1a616c8540a2649eab8e0cd051bb3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga4ae1a616c8540a2649eab8e0cd051bb3">lerp</a> (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)</td></tr>
|
||||
<tr class="memdesc:ga4ae1a616c8540a2649eab8e0cd051bb3"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga4ae1a616c8540a2649eab8e0cd051bb3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab5477ab69c40de4db5d58d3359529724"><td class="memTemplParams" colspan="2"><a class="anchor" id="gab5477ab69c40de4db5d58d3359529724"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gab5477ab69c40de4db5d58d3359529724"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a> (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)</td></tr>
|
||||
<tr class="memdesc:gab5477ab69c40de4db5d58d3359529724"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gab5477ab69c40de4db5d58d3359529724"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0fd09e616d122bc2ed9726682ffd44b7"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga0fd09e616d122bc2ed9726682ffd44b7">saturate</a> (T x)</td></tr>
|
||||
<tr class="memdesc:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="mdescLeft"> </td><td class="mdescRight">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga0fd09e616d122bc2ed9726682ffd44b7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaee97b8001c794a78a44f5d59f62a8aba"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaee97b8001c794a78a44f5d59f62a8aba"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaee97b8001c794a78a44f5d59f62a8aba"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 2, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#gaee97b8001c794a78a44f5d59f62a8aba">saturate</a> (const vec< 2, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:gaee97b8001c794a78a44f5d59f62a8aba"><td class="mdescLeft"> </td><td class="mdescRight">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:gaee97b8001c794a78a44f5d59f62a8aba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga39bfe3a421286ee31680d45c31ccc161"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga39bfe3a421286ee31680d45c31ccc161"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga39bfe3a421286ee31680d45c31ccc161"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga39bfe3a421286ee31680d45c31ccc161">saturate</a> (const vec< 3, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:ga39bfe3a421286ee31680d45c31ccc161"><td class="mdescLeft"> </td><td class="mdescRight">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga39bfe3a421286ee31680d45c31ccc161"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga356f8c3a7e7d6376d3d4b0a026407183"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga356f8c3a7e7d6376d3d4b0a026407183"></a>
|
||||
template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga356f8c3a7e7d6376d3d4b0a026407183"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_QUALIFIER vec< 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a> (const vec< 4, T, Q > &x)</td></tr>
|
||||
<tr class="memdesc:ga356f8c3a7e7d6376d3d4b0a026407183"><td class="mdescLeft"> </td><td class="mdescRight">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) <br /></td></tr>
|
||||
<tr class="separator:ga356f8c3a7e7d6376d3d4b0a026407183"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00176.html">GLM_GTX_compatibility</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00017_source.html">compatibility.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
282
test/glm/doc/api/a00017_source.html
Normal file
282
test/glm/doc/api/a00017_source.html
Normal file
@@ -0,0 +1,282 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: compatibility.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">compatibility.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00017.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../gtc/quaternion.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_compatibility extension included")</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#if GLM_COMPILER & GLM_COMPILER_VC</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"># include <cfloat></span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#elif GLM_COMPILER & GLM_COMPILER_GCC</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"># include <cmath></span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"># if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor"># undef isfinite</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"># endif</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#endif//GLM_COMPILER</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> {</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="a00176.html#ga5494ba3a95ea6594c86fc75236886864"> 41</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T> GLM_FUNC_QUALIFIER T <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(T x, T y, T a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="a00176.html#gaa551c0a0e16d2d4608e49f7696df897f"> 42</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<2, T, Q>& x, <span class="keyword">const</span> vec<2, T, Q>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="a00176.html#ga44a8b5fd776320f1713413dec959b32a"> 44</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<3, T, Q>& x, <span class="keyword">const</span> vec<3, T, Q>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="a00176.html#ga89ac8e000199292ec7875519d27e214b"> 45</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<4, T, Q>& x, <span class="keyword">const</span> vec<4, T, Q>& y, T a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="a00176.html#gaf68de5baf72d16135368b8ef4f841604"> 46</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<2, T, Q>& x, <span class="keyword">const</span> vec<2, T, Q>& y, <span class="keyword">const</span> vec<2, T, Q>& a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00176.html#ga4ae1a616c8540a2649eab8e0cd051bb3"> 47</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<3, T, Q>& x, <span class="keyword">const</span> vec<3, T, Q>& y, <span class="keyword">const</span> vec<3, T, Q>& a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="a00176.html#gab5477ab69c40de4db5d58d3359529724"> 48</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> <a class="code" href="a00176.html#gab5477ab69c40de4db5d58d3359529724">lerp</a>(<span class="keyword">const</span> vec<4, T, Q>& x, <span class="keyword">const</span> vec<4, T, Q>& y, <span class="keyword">const</span> vec<4, T, Q>& a){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">mix</a>(x, y, a);} </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="a00176.html#ga0fd09e616d122bc2ed9726682ffd44b7"> 50</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER T <a class="code" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(T x){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="a00176.html#gaee97b8001c794a78a44f5d59f62a8aba"> 51</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> <a class="code" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(<span class="keyword">const</span> vec<2, T, Q>& x){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="a00176.html#ga39bfe3a421286ee31680d45c31ccc161"> 52</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> <a class="code" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(<span class="keyword">const</span> vec<3, T, Q>& x){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183"> 53</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> <a class="code" href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">saturate</a>(<span class="keyword">const</span> vec<4, T, Q>& x){<span class="keywordflow">return</span> <a class="code" href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">clamp</a>(x, T(0), T(1));} </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="a00176.html#gac63011205bf6d0be82589dc56dd26708"> 55</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER T <a class="code" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(T x, T y){<span class="keywordflow">return</span> <a class="code" href="a00232.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="a00176.html#ga83bc41bd6f89113ee8006576b12bfc50"> 56</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> <a class="code" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec<2, T, Q>& x, <span class="keyword">const</span> vec<2, T, Q>& y){<span class="keywordflow">return</span> <a class="code" href="a00232.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00176.html#gac39314f5087e7e51e592897cabbc1927"> 57</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> <a class="code" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec<3, T, Q>& x, <span class="keyword">const</span> vec<3, T, Q>& y){<span class="keywordflow">return</span> <a class="code" href="a00232.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3"> 58</a></span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> <a class="code" href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">atan2</a>(<span class="keyword">const</span> vec<4, T, Q>& x, <span class="keyword">const</span> vec<4, T, Q>& y){<span class="keywordflow">return</span> <a class="code" href="a00232.html#gac61629f3a4aa14057e7a8cae002291db">atan</a>(x, y);} </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(genType <span class="keyword">const</span>& x); </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_DECL vec<1, bool, Q> <a class="code" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(<span class="keyword">const</span> vec<1, T, Q>& x); </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_DECL vec<2, bool, Q> <a class="code" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(<span class="keyword">const</span> vec<2, T, Q>& x); </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_DECL vec<3, bool, Q> <a class="code" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(<span class="keyword">const</span> vec<3, T, Q>& x); </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q> GLM_FUNC_DECL vec<4, bool, Q> <a class="code" href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">isfinite</a>(<span class="keyword">const</span> vec<4, T, Q>& x); </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="a00176.html#gaddcd7aa2e30e61af5b38660613d3979e"> 66</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00176.html#gaddcd7aa2e30e61af5b38660613d3979e">bool1</a>; </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="a00176.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9"> 67</a></span>  <span class="keyword">typedef</span> vec<2, bool, highp> <a class="code" href="a00176.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9">bool2</a>; </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="a00176.html#ga99629f818737f342204071ef8296b2ed"> 68</a></span>  <span class="keyword">typedef</span> vec<3, bool, highp> <a class="code" href="a00176.html#ga99629f818737f342204071ef8296b2ed">bool3</a>; </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="a00176.html#ga13c3200b82708f73faac6d7f09ec91a3"> 69</a></span>  <span class="keyword">typedef</span> vec<4, bool, highp> <a class="code" href="a00176.html#ga13c3200b82708f73faac6d7f09ec91a3">bool4</a>; </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="a00176.html#ga7f895c936f0c29c8729afbbf22806090"> 71</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="a00176.html#ga7f895c936f0c29c8729afbbf22806090">bool1x1</a>; </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="a00176.html#gadb3703955e513632f98ba12fe051ba3e"> 72</a></span>  <span class="keyword">typedef</span> mat<2, 2, bool, highp> <a class="code" href="a00176.html#gadb3703955e513632f98ba12fe051ba3e">bool2x2</a>; </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="a00176.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0"> 73</a></span>  <span class="keyword">typedef</span> mat<2, 3, bool, highp> <a class="code" href="a00176.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0">bool2x3</a>; </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="a00176.html#ga4d7fa65be8e8e4ad6d920b45c44e471f"> 74</a></span>  <span class="keyword">typedef</span> mat<2, 4, bool, highp> <a class="code" href="a00176.html#ga4d7fa65be8e8e4ad6d920b45c44e471f">bool2x4</a>; </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="a00176.html#gac7d7311f7e0fa8b6163d96dab033a755"> 75</a></span>  <span class="keyword">typedef</span> mat<3, 2, bool, highp> <a class="code" href="a00176.html#gac7d7311f7e0fa8b6163d96dab033a755">bool3x2</a>; </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00176.html#ga6c97b99aac3e302053ffb58aace9033c"> 76</a></span>  <span class="keyword">typedef</span> mat<3, 3, bool, highp> <a class="code" href="a00176.html#ga6c97b99aac3e302053ffb58aace9033c">bool3x3</a>; </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="a00176.html#gae7d6b679463d37d6c527d478fb470fdf"> 77</a></span>  <span class="keyword">typedef</span> mat<3, 4, bool, highp> <a class="code" href="a00176.html#gae7d6b679463d37d6c527d478fb470fdf">bool3x4</a>; </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="a00176.html#ga9ed830f52408b2f83c085063a3eaf1d0"> 78</a></span>  <span class="keyword">typedef</span> mat<4, 2, bool, highp> <a class="code" href="a00176.html#ga9ed830f52408b2f83c085063a3eaf1d0">bool4x2</a>; </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="a00176.html#gad0f5dc7f22c2065b1b06d57f1c0658fe"> 79</a></span>  <span class="keyword">typedef</span> mat<4, 3, bool, highp> <a class="code" href="a00176.html#gad0f5dc7f22c2065b1b06d57f1c0658fe">bool4x3</a>; </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="a00176.html#ga7d2a7d13986602ae2896bfaa394235d4"> 80</a></span>  <span class="keyword">typedef</span> mat<4, 4, bool, highp> <a class="code" href="a00176.html#ga7d2a7d13986602ae2896bfaa394235d4">bool4x4</a>; </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="a00176.html#ga0670a2111b5e4a6410bd027fa0232fc3"> 82</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00176.html#ga0670a2111b5e4a6410bd027fa0232fc3">int1</a>; </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="a00176.html#gafe3a8fd56354caafe24bfe1b1e3ad22a"> 83</a></span>  <span class="keyword">typedef</span> vec<2, int, highp> <a class="code" href="a00176.html#gafe3a8fd56354caafe24bfe1b1e3ad22a">int2</a>; </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="a00176.html#ga909c38a425f215a50c847145d7da09f0"> 84</a></span>  <span class="keyword">typedef</span> vec<3, int, highp> <a class="code" href="a00176.html#ga909c38a425f215a50c847145d7da09f0">int3</a>; </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="a00176.html#gaecdef18c819c205aeee9f94dc93de56a"> 85</a></span>  <span class="keyword">typedef</span> vec<4, int, highp> <a class="code" href="a00176.html#gaecdef18c819c205aeee9f94dc93de56a">int4</a>; </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="a00176.html#ga056ffe02d3a45af626f8e62221881c7a"> 87</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">int</span> <a class="code" href="a00176.html#ga056ffe02d3a45af626f8e62221881c7a">int1x1</a>; </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="a00176.html#ga4e5ce477c15836b21e3c42daac68554d"> 88</a></span>  <span class="keyword">typedef</span> mat<2, 2, int, highp> <a class="code" href="a00176.html#ga4e5ce477c15836b21e3c42daac68554d">int2x2</a>; </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="a00176.html#ga197ded5ad8354f6b6fb91189d7a269b3"> 89</a></span>  <span class="keyword">typedef</span> mat<2, 3, int, highp> <a class="code" href="a00176.html#ga197ded5ad8354f6b6fb91189d7a269b3">int2x3</a>; </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="a00176.html#ga2749d59a7fddbac44f34ba78e57ef807"> 90</a></span>  <span class="keyword">typedef</span> mat<2, 4, int, highp> <a class="code" href="a00176.html#ga2749d59a7fddbac44f34ba78e57ef807">int2x4</a>; </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="a00176.html#gaa4cbe16a92cf3664376c7a2fc5126aa8"> 91</a></span>  <span class="keyword">typedef</span> mat<3, 2, int, highp> <a class="code" href="a00176.html#gaa4cbe16a92cf3664376c7a2fc5126aa8">int3x2</a>; </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="a00176.html#ga15c9649286f0bf431bdf9b3509580048"> 92</a></span>  <span class="keyword">typedef</span> mat<3, 3, int, highp> <a class="code" href="a00176.html#ga15c9649286f0bf431bdf9b3509580048">int3x3</a>; </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="a00176.html#gaacac46ddc7d15d0f9529d05c92946a0f"> 93</a></span>  <span class="keyword">typedef</span> mat<3, 4, int, highp> <a class="code" href="a00176.html#gaacac46ddc7d15d0f9529d05c92946a0f">int3x4</a>; </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="a00176.html#ga97a39dd9bc7d572810d80b8467cbffa1"> 94</a></span>  <span class="keyword">typedef</span> mat<4, 2, int, highp> <a class="code" href="a00176.html#ga97a39dd9bc7d572810d80b8467cbffa1">int4x2</a>; </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="a00176.html#gae4a2c53f14aeec9a17c2b81142b7e82d"> 95</a></span>  <span class="keyword">typedef</span> mat<4, 3, int, highp> <a class="code" href="a00176.html#gae4a2c53f14aeec9a17c2b81142b7e82d">int4x3</a>; </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="a00176.html#ga04dee1552424198b8f58b377c2ee00d8"> 96</a></span>  <span class="keyword">typedef</span> mat<4, 4, int, highp> <a class="code" href="a00176.html#ga04dee1552424198b8f58b377c2ee00d8">int4x4</a>; </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="a00176.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead"> 98</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00176.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">float1</a>; </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="a00176.html#ga02d3c013982c183906c61d74aa3166ce"> 99</a></span>  <span class="keyword">typedef</span> vec<2, float, highp> <a class="code" href="a00176.html#ga02d3c013982c183906c61d74aa3166ce">float2</a>; </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00176.html#ga821ff110fc8533a053cbfcc93e078cc0"> 100</a></span>  <span class="keyword">typedef</span> vec<3, float, highp> <a class="code" href="a00176.html#ga821ff110fc8533a053cbfcc93e078cc0">float3</a>; </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="a00176.html#gae2da7345087db3815a25d8837a727ef1"> 101</a></span>  <span class="keyword">typedef</span> vec<4, float, highp> <a class="code" href="a00176.html#gae2da7345087db3815a25d8837a727ef1">float4</a>; </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="a00176.html#ga73720b8dc4620835b17f74d428f98c0c"> 103</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">float</span> <a class="code" href="a00176.html#ga73720b8dc4620835b17f74d428f98c0c">float1x1</a>; </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="a00176.html#ga33d43ecbb60a85a1366ff83f8a0ec85f"> 104</a></span>  <span class="keyword">typedef</span> mat<2, 2, float, highp> <a class="code" href="a00176.html#ga33d43ecbb60a85a1366ff83f8a0ec85f">float2x2</a>; </div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00176.html#ga939b0cff15cee3030f75c1b2e36f89fe"> 105</a></span>  <span class="keyword">typedef</span> mat<2, 3, float, highp> <a class="code" href="a00176.html#ga939b0cff15cee3030f75c1b2e36f89fe">float2x3</a>; </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="a00176.html#gafec3cfd901ab334a92e0242b8f2269b4"> 106</a></span>  <span class="keyword">typedef</span> mat<2, 4, float, highp> <a class="code" href="a00176.html#gafec3cfd901ab334a92e0242b8f2269b4">float2x4</a>; </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="a00176.html#gaa6c69f04ba95f3faedf95dae874de576"> 107</a></span>  <span class="keyword">typedef</span> mat<3, 2, float, highp> <a class="code" href="a00176.html#gaa6c69f04ba95f3faedf95dae874de576">float3x2</a>; </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="a00176.html#ga6ceb5d38a58becdf420026e12a6562f3"> 108</a></span>  <span class="keyword">typedef</span> mat<3, 3, float, highp> <a class="code" href="a00176.html#ga6ceb5d38a58becdf420026e12a6562f3">float3x3</a>; </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="a00176.html#ga4d2679c321b793ca3784fe0315bb5332"> 109</a></span>  <span class="keyword">typedef</span> mat<3, 4, float, highp> <a class="code" href="a00176.html#ga4d2679c321b793ca3784fe0315bb5332">float3x4</a>; </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="a00176.html#ga308b9af0c221145bcfe9bfc129d9098e"> 110</a></span>  <span class="keyword">typedef</span> mat<4, 2, float, highp> <a class="code" href="a00176.html#ga308b9af0c221145bcfe9bfc129d9098e">float4x2</a>; </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="a00176.html#gac0a51b4812038aa81d73ffcc37f741ac"> 111</a></span>  <span class="keyword">typedef</span> mat<4, 3, float, highp> <a class="code" href="a00176.html#gac0a51b4812038aa81d73ffcc37f741ac">float4x3</a>; </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="a00176.html#gad3051649b3715d828a4ab92cdae7c3bf"> 112</a></span>  <span class="keyword">typedef</span> mat<4, 4, float, highp> <a class="code" href="a00176.html#gad3051649b3715d828a4ab92cdae7c3bf">float4x4</a>; </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="a00176.html#ga20b861a9b6e2a300323671c57a02525b"> 114</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00176.html#ga20b861a9b6e2a300323671c57a02525b">double1</a>; </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00176.html#ga31b729b04facccda73f07ed26958b3c2"> 115</a></span>  <span class="keyword">typedef</span> vec<2, double, highp> <a class="code" href="a00176.html#ga31b729b04facccda73f07ed26958b3c2">double2</a>; </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="a00176.html#ga3d8b9028a1053a44a98902cd1c389472"> 116</a></span>  <span class="keyword">typedef</span> vec<3, double, highp> <a class="code" href="a00176.html#ga3d8b9028a1053a44a98902cd1c389472">double3</a>; </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00176.html#gaf92f58af24f35617518aeb3d4f63fda6"> 117</a></span>  <span class="keyword">typedef</span> vec<4, double, highp> <a class="code" href="a00176.html#gaf92f58af24f35617518aeb3d4f63fda6">double4</a>; </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="a00176.html#ga45f16a4dd0db1f199afaed9fd12fe9a8"> 119</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">double</span> <a class="code" href="a00176.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">double1x1</a>; </div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="a00176.html#gae57d0201096834d25f2b91b319e7cdbd"> 120</a></span>  <span class="keyword">typedef</span> mat<2, 2, double, highp> <a class="code" href="a00176.html#gae57d0201096834d25f2b91b319e7cdbd">double2x2</a>; </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="a00176.html#ga3655bc324008553ca61f39952d0b2d08"> 121</a></span>  <span class="keyword">typedef</span> mat<2, 3, double, highp> <a class="code" href="a00176.html#ga3655bc324008553ca61f39952d0b2d08">double2x3</a>; </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="a00176.html#gacd33061fc64a7b2dcfd7322c49d9557a"> 122</a></span>  <span class="keyword">typedef</span> mat<2, 4, double, highp> <a class="code" href="a00176.html#gacd33061fc64a7b2dcfd7322c49d9557a">double2x4</a>; </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="a00176.html#ga5ec08fc39c9d783dfcc488be240fe975"> 123</a></span>  <span class="keyword">typedef</span> mat<3, 2, double, highp> <a class="code" href="a00176.html#ga5ec08fc39c9d783dfcc488be240fe975">double3x2</a>; </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="a00176.html#ga4bad5bb20c6ddaecfe4006c93841d180"> 124</a></span>  <span class="keyword">typedef</span> mat<3, 3, double, highp> <a class="code" href="a00176.html#ga4bad5bb20c6ddaecfe4006c93841d180">double3x3</a>; </div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00176.html#ga2ef022e453d663d70aec414b2a80f756"> 125</a></span>  <span class="keyword">typedef</span> mat<3, 4, double, highp> <a class="code" href="a00176.html#ga2ef022e453d663d70aec414b2a80f756">double3x4</a>; </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="a00176.html#gabca29ccceea53669618b751aae0ba83d"> 126</a></span>  <span class="keyword">typedef</span> mat<4, 2, double, highp> <a class="code" href="a00176.html#gabca29ccceea53669618b751aae0ba83d">double4x2</a>; </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="a00176.html#gafad66a02ccd360c86d6ab9ff9cfbc19c"> 127</a></span>  <span class="keyword">typedef</span> mat<4, 3, double, highp> <a class="code" href="a00176.html#gafad66a02ccd360c86d6ab9ff9cfbc19c">double4x3</a>; </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="a00176.html#gaab541bed2e788e4537852a2492860806"> 128</a></span>  <span class="keyword">typedef</span> mat<4, 4, double, highp> <a class="code" href="a00176.html#gaab541bed2e788e4537852a2492860806">double4x4</a>; </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#include "compatibility.inl"</span></div>
|
||||
<div class="ttc" id="a00176_html_ga2749d59a7fddbac44f34ba78e57ef807"><div class="ttname"><a href="a00176.html#ga2749d59a7fddbac44f34ba78e57ef807">glm::int2x4</a></div><div class="ttdeci">mat< 2, 4, int, highp > int2x4</div><div class="ttdoc">integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00090">compatibility.hpp:90</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga6ceb5d38a58becdf420026e12a6562f3"><div class="ttname"><a href="a00176.html#ga6ceb5d38a58becdf420026e12a6562f3">glm::float3x3</a></div><div class="ttdeci">mat< 3, 3, float, highp > float3x3</div><div class="ttdoc">single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00108">compatibility.hpp:108</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaa4cbe16a92cf3664376c7a2fc5126aa8"><div class="ttname"><a href="a00176.html#gaa4cbe16a92cf3664376c7a2fc5126aa8">glm::int3x2</a></div><div class="ttdeci">mat< 3, 2, int, highp > int3x2</div><div class="ttdoc">integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00091">compatibility.hpp:91</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga056ffe02d3a45af626f8e62221881c7a"><div class="ttname"><a href="a00176.html#ga056ffe02d3a45af626f8e62221881c7a">glm::int1x1</a></div><div class="ttdeci">int int1x1</div><div class="ttdoc">integer matrix with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00087">compatibility.hpp:87</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gad3051649b3715d828a4ab92cdae7c3bf"><div class="ttname"><a href="a00176.html#gad3051649b3715d828a4ab92cdae7c3bf">glm::float4x4</a></div><div class="ttdeci">mat< 4, 4, float, highp > float4x4</div><div class="ttdoc">single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00112">compatibility.hpp:112</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga4bad5bb20c6ddaecfe4006c93841d180"><div class="ttname"><a href="a00176.html#ga4bad5bb20c6ddaecfe4006c93841d180">glm::double3x3</a></div><div class="ttdeci">mat< 3, 3, double, highp > double3x3</div><div class="ttdoc">double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00124">compatibility.hpp:124</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga4e5ce477c15836b21e3c42daac68554d"><div class="ttname"><a href="a00176.html#ga4e5ce477c15836b21e3c42daac68554d">glm::int2x2</a></div><div class="ttdeci">mat< 2, 2, int, highp > int2x2</div><div class="ttdoc">integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00088">compatibility.hpp:88</a></div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga3d8b9028a1053a44a98902cd1c389472"><div class="ttname"><a href="a00176.html#ga3d8b9028a1053a44a98902cd1c389472">glm::double3</a></div><div class="ttdeci">vec< 3, double, highp > double3</div><div class="ttdoc">double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00116">compatibility.hpp:116</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga0670a2111b5e4a6410bd027fa0232fc3"><div class="ttname"><a href="a00176.html#ga0670a2111b5e4a6410bd027fa0232fc3">glm::int1</a></div><div class="ttdeci">int int1</div><div class="ttdoc">integer vector with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00082">compatibility.hpp:82</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaddcd7aa2e30e61af5b38660613d3979e"><div class="ttname"><a href="a00176.html#gaddcd7aa2e30e61af5b38660613d3979e">glm::bool1</a></div><div class="ttdeci">bool bool1</div><div class="ttdoc">boolean type with 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00066">compatibility.hpp:66</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga31b729b04facccda73f07ed26958b3c2"><div class="ttname"><a href="a00176.html#ga31b729b04facccda73f07ed26958b3c2">glm::double2</a></div><div class="ttdeci">vec< 2, double, highp > double2</div><div class="ttdoc">double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00115">compatibility.hpp:115</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga9ae6ee155d0f90cb1ae5b6c4546738a0"><div class="ttname"><a href="a00176.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0">glm::bool2x3</a></div><div class="ttdeci">mat< 2, 3, bool, highp > bool2x3</div><div class="ttdoc">boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00073">compatibility.hpp:73</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga7d2a7d13986602ae2896bfaa394235d4"><div class="ttname"><a href="a00176.html#ga7d2a7d13986602ae2896bfaa394235d4">glm::bool4x4</a></div><div class="ttdeci">mat< 4, 4, bool, highp > bool4x4</div><div class="ttdoc">boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00080">compatibility.hpp:80</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gab5477ab69c40de4db5d58d3359529724"><div class="ttname"><a href="a00176.html#gab5477ab69c40de4db5d58d3359529724">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)</div><div class="ttdoc">Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00048">compatibility.hpp:48</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga02d3c013982c183906c61d74aa3166ce"><div class="ttname"><a href="a00176.html#ga02d3c013982c183906c61d74aa3166ce">glm::float2</a></div><div class="ttdeci">vec< 2, float, highp > float2</div><div class="ttdoc">single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00099">compatibility.hpp:99</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga7f895c936f0c29c8729afbbf22806090"><div class="ttname"><a href="a00176.html#ga7f895c936f0c29c8729afbbf22806090">glm::bool1x1</a></div><div class="ttdeci">bool bool1x1</div><div class="ttdoc">boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00071">compatibility.hpp:71</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga9ed830f52408b2f83c085063a3eaf1d0"><div class="ttname"><a href="a00176.html#ga9ed830f52408b2f83c085063a3eaf1d0">glm::bool4x2</a></div><div class="ttdeci">mat< 4, 2, bool, highp > bool4x2</div><div class="ttdoc">boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00078">compatibility.hpp:78</a></div></div>
|
||||
<div class="ttc" id="a00232_html_gac61629f3a4aa14057e7a8cae002291db"><div class="ttname"><a href="a00232.html#gac61629f3a4aa14057e7a8cae002291db">glm::atan</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > atan(vec< L, T, Q > const &y, vec< L, T, Q > const &x)</div><div class="ttdoc">Arc tangent. </div></div>
|
||||
<div class="ttc" id="a00176_html_gac0a51b4812038aa81d73ffcc37f741ac"><div class="ttname"><a href="a00176.html#gac0a51b4812038aa81d73ffcc37f741ac">glm::float4x3</a></div><div class="ttdeci">mat< 4, 3, float, highp > float4x3</div><div class="ttdoc">single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00111">compatibility.hpp:111</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga939b0cff15cee3030f75c1b2e36f89fe"><div class="ttname"><a href="a00176.html#ga939b0cff15cee3030f75c1b2e36f89fe">glm::float2x3</a></div><div class="ttdeci">mat< 2, 3, float, highp > float2x3</div><div class="ttdoc">single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00105">compatibility.hpp:105</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga99629f818737f342204071ef8296b2ed"><div class="ttname"><a href="a00176.html#ga99629f818737f342204071ef8296b2ed">glm::bool3</a></div><div class="ttdeci">vec< 3, bool, highp > bool3</div><div class="ttdoc">boolean type with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00068">compatibility.hpp:68</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga33d43ecbb60a85a1366ff83f8a0ec85f"><div class="ttname"><a href="a00176.html#ga33d43ecbb60a85a1366ff83f8a0ec85f">glm::float2x2</a></div><div class="ttdeci">mat< 2, 2, float, highp > float2x2</div><div class="ttdoc">single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00104">compatibility.hpp:104</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga13c3200b82708f73faac6d7f09ec91a3"><div class="ttname"><a href="a00176.html#ga13c3200b82708f73faac6d7f09ec91a3">glm::bool4</a></div><div class="ttdeci">vec< 4, bool, highp > bool4</div><div class="ttdoc">boolean type with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00069">compatibility.hpp:69</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gae2da7345087db3815a25d8837a727ef1"><div class="ttname"><a href="a00176.html#gae2da7345087db3815a25d8837a727ef1">glm::float4</a></div><div class="ttdeci">vec< 4, float, highp > float4</div><div class="ttdoc">single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00101">compatibility.hpp:101</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga2ef022e453d663d70aec414b2a80f756"><div class="ttname"><a href="a00176.html#ga2ef022e453d663d70aec414b2a80f756">glm::double3x4</a></div><div class="ttdeci">mat< 3, 4, double, highp > double3x4</div><div class="ttdoc">double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00125">compatibility.hpp:125</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga45f16a4dd0db1f199afaed9fd12fe9a8"><div class="ttname"><a href="a00176.html#ga45f16a4dd0db1f199afaed9fd12fe9a8">glm::double1x1</a></div><div class="ttdeci">double double1x1</div><div class="ttdoc">double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00119">compatibility.hpp:119</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gacd33061fc64a7b2dcfd7322c49d9557a"><div class="ttname"><a href="a00176.html#gacd33061fc64a7b2dcfd7322c49d9557a">glm::double2x4</a></div><div class="ttdeci">mat< 2, 4, double, highp > double2x4</div><div class="ttdoc">double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00122">compatibility.hpp:122</a></div></div>
|
||||
<div class="ttc" id="a00140_html_ga93bce26c7d80d30a62f5c508f8498a6c"><div class="ttname"><a href="a00140.html#ga93bce26c7d80d30a62f5c508f8498a6c">glm::clamp</a></div><div class="ttdeci">GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal)</div><div class="ttdoc">Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...</div></div>
|
||||
<div class="ttc" id="a00176_html_gaa6c69f04ba95f3faedf95dae874de576"><div class="ttname"><a href="a00176.html#gaa6c69f04ba95f3faedf95dae874de576">glm::float3x2</a></div><div class="ttdeci">mat< 3, 2, float, highp > float3x2</div><div class="ttdoc">single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00107">compatibility.hpp:107</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga5ec08fc39c9d783dfcc488be240fe975"><div class="ttname"><a href="a00176.html#ga5ec08fc39c9d783dfcc488be240fe975">glm::double3x2</a></div><div class="ttdeci">mat< 3, 2, double, highp > double3x2</div><div class="ttdoc">double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00123">compatibility.hpp:123</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaacac46ddc7d15d0f9529d05c92946a0f"><div class="ttname"><a href="a00176.html#gaacac46ddc7d15d0f9529d05c92946a0f">glm::int3x4</a></div><div class="ttdeci">mat< 3, 4, int, highp > int3x4</div><div class="ttdoc">integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00093">compatibility.hpp:93</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaecdef18c819c205aeee9f94dc93de56a"><div class="ttname"><a href="a00176.html#gaecdef18c819c205aeee9f94dc93de56a">glm::int4</a></div><div class="ttdeci">vec< 4, int, highp > int4</div><div class="ttdoc">integer vector with 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00085">compatibility.hpp:85</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga3655bc324008553ca61f39952d0b2d08"><div class="ttname"><a href="a00176.html#ga3655bc324008553ca61f39952d0b2d08">glm::double2x3</a></div><div class="ttdeci">mat< 2, 3, double, highp > double2x3</div><div class="ttdoc">double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00121">compatibility.hpp:121</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga4d7fa65be8e8e4ad6d920b45c44e471f"><div class="ttname"><a href="a00176.html#ga4d7fa65be8e8e4ad6d920b45c44e471f">glm::bool2x4</a></div><div class="ttdeci">mat< 2, 4, bool, highp > bool2x4</div><div class="ttdoc">boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00074">compatibility.hpp:74</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga308b9af0c221145bcfe9bfc129d9098e"><div class="ttname"><a href="a00176.html#ga308b9af0c221145bcfe9bfc129d9098e">glm::float4x2</a></div><div class="ttdeci">mat< 4, 2, float, highp > float4x2</div><div class="ttdoc">single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00110">compatibility.hpp:110</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gabca29ccceea53669618b751aae0ba83d"><div class="ttname"><a href="a00176.html#gabca29ccceea53669618b751aae0ba83d">glm::double4x2</a></div><div class="ttdeci">mat< 4, 2, double, highp > double4x2</div><div class="ttdoc">double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00126">compatibility.hpp:126</a></div></div>
|
||||
<div class="ttc" id="a00140_html_ga8e93f374aae27d1a88b921860351f8d4"><div class="ttname"><a href="a00140.html#ga8e93f374aae27d1a88b921860351f8d4">glm::mix</a></div><div class="ttdeci">GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)</div><div class="ttdoc">If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...</div></div>
|
||||
<div class="ttc" id="a00176_html_gae57d0201096834d25f2b91b319e7cdbd"><div class="ttname"><a href="a00176.html#gae57d0201096834d25f2b91b319e7cdbd">glm::double2x2</a></div><div class="ttdeci">mat< 2, 2, double, highp > double2x2</div><div class="ttdoc">double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00120">compatibility.hpp:120</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gadb3703955e513632f98ba12fe051ba3e"><div class="ttname"><a href="a00176.html#gadb3703955e513632f98ba12fe051ba3e">glm::bool2x2</a></div><div class="ttdeci">mat< 2, 2, bool, highp > bool2x2</div><div class="ttdoc">boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00072">compatibility.hpp:72</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gad0f5dc7f22c2065b1b06d57f1c0658fe"><div class="ttname"><a href="a00176.html#gad0f5dc7f22c2065b1b06d57f1c0658fe">glm::bool4x3</a></div><div class="ttdeci">mat< 4, 3, bool, highp > bool4x3</div><div class="ttdoc">boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00079">compatibility.hpp:79</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga04dee1552424198b8f58b377c2ee00d8"><div class="ttname"><a href="a00176.html#ga04dee1552424198b8f58b377c2ee00d8">glm::int4x4</a></div><div class="ttdeci">mat< 4, 4, int, highp > int4x4</div><div class="ttdoc">integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00096">compatibility.hpp:96</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga19925badbe10ce61df1d0de00be0b5ad"><div class="ttname"><a href="a00176.html#ga19925badbe10ce61df1d0de00be0b5ad">glm::isfinite</a></div><div class="ttdeci">GLM_FUNC_DECL vec< 4, bool, Q > isfinite(const vec< 4, T, Q > &x)</div><div class="ttdoc">Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...</div></div>
|
||||
<div class="ttc" id="a00176_html_gaba86c28da7bf5bdac64fecf7d56e8ff3"><div class="ttname"><a href="a00176.html#gaba86c28da7bf5bdac64fecf7d56e8ff3">glm::atan2</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)</div><div class="ttdoc">Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00058">compatibility.hpp:58</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gafe3a8fd56354caafe24bfe1b1e3ad22a"><div class="ttname"><a href="a00176.html#gafe3a8fd56354caafe24bfe1b1e3ad22a">glm::int2</a></div><div class="ttdeci">vec< 2, int, highp > int2</div><div class="ttdoc">integer vector with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00083">compatibility.hpp:83</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gac7d7311f7e0fa8b6163d96dab033a755"><div class="ttname"><a href="a00176.html#gac7d7311f7e0fa8b6163d96dab033a755">glm::bool3x2</a></div><div class="ttdeci">mat< 3, 2, bool, highp > bool3x2</div><div class="ttdoc">boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00075">compatibility.hpp:75</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gafad66a02ccd360c86d6ab9ff9cfbc19c"><div class="ttname"><a href="a00176.html#gafad66a02ccd360c86d6ab9ff9cfbc19c">glm::double4x3</a></div><div class="ttdeci">mat< 4, 3, double, highp > double4x3</div><div class="ttdoc">double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00127">compatibility.hpp:127</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga356f8c3a7e7d6376d3d4b0a026407183"><div class="ttname"><a href="a00176.html#ga356f8c3a7e7d6376d3d4b0a026407183">glm::saturate</a></div><div class="ttdeci">GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate(const vec< 4, T, Q > &x)</div><div class="ttdoc">Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00053">compatibility.hpp:53</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga20b861a9b6e2a300323671c57a02525b"><div class="ttname"><a href="a00176.html#ga20b861a9b6e2a300323671c57a02525b">glm::double1</a></div><div class="ttdeci">double double1</div><div class="ttdoc">double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00114">compatibility.hpp:114</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gafec3cfd901ab334a92e0242b8f2269b4"><div class="ttname"><a href="a00176.html#gafec3cfd901ab334a92e0242b8f2269b4">glm::float2x4</a></div><div class="ttdeci">mat< 2, 4, float, highp > float2x4</div><div class="ttdoc">single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00106">compatibility.hpp:106</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga97a39dd9bc7d572810d80b8467cbffa1"><div class="ttname"><a href="a00176.html#ga97a39dd9bc7d572810d80b8467cbffa1">glm::int4x2</a></div><div class="ttdeci">mat< 4, 2, int, highp > int4x2</div><div class="ttdoc">integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00094">compatibility.hpp:94</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga909c38a425f215a50c847145d7da09f0"><div class="ttname"><a href="a00176.html#ga909c38a425f215a50c847145d7da09f0">glm::int3</a></div><div class="ttdeci">vec< 3, int, highp > int3</div><div class="ttdoc">integer vector with 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00084">compatibility.hpp:84</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaab541bed2e788e4537852a2492860806"><div class="ttname"><a href="a00176.html#gaab541bed2e788e4537852a2492860806">glm::double4x4</a></div><div class="ttdeci">mat< 4, 4, double, highp > double4x4</div><div class="ttdoc">double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00128">compatibility.hpp:128</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gae4a2c53f14aeec9a17c2b81142b7e82d"><div class="ttname"><a href="a00176.html#gae4a2c53f14aeec9a17c2b81142b7e82d">glm::int4x3</a></div><div class="ttdeci">mat< 4, 3, int, highp > int4x3</div><div class="ttdoc">integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00095">compatibility.hpp:95</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga4d2679c321b793ca3784fe0315bb5332"><div class="ttname"><a href="a00176.html#ga4d2679c321b793ca3784fe0315bb5332">glm::float3x4</a></div><div class="ttdeci">mat< 3, 4, float, highp > float3x4</div><div class="ttdoc">single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00109">compatibility.hpp:109</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaa09ab65ec9c3c54305ff502e2b1fe6d9"><div class="ttname"><a href="a00176.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9">glm::bool2</a></div><div class="ttdeci">vec< 2, bool, highp > bool2</div><div class="ttdoc">boolean type with 2 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00067">compatibility.hpp:67</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga15c9649286f0bf431bdf9b3509580048"><div class="ttname"><a href="a00176.html#ga15c9649286f0bf431bdf9b3509580048">glm::int3x3</a></div><div class="ttdeci">mat< 3, 3, int, highp > int3x3</div><div class="ttdoc">integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00092">compatibility.hpp:92</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaf92f58af24f35617518aeb3d4f63fda6"><div class="ttname"><a href="a00176.html#gaf92f58af24f35617518aeb3d4f63fda6">glm::double4</a></div><div class="ttdeci">vec< 4, double, highp > double4</div><div class="ttdoc">double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00117">compatibility.hpp:117</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gae7d6b679463d37d6c527d478fb470fdf"><div class="ttname"><a href="a00176.html#gae7d6b679463d37d6c527d478fb470fdf">glm::bool3x4</a></div><div class="ttdeci">mat< 3, 4, bool, highp > bool3x4</div><div class="ttdoc">boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00077">compatibility.hpp:77</a></div></div>
|
||||
<div class="ttc" id="a00176_html_gaf5208d01f6c6fbcb7bb55d610b9c0ead"><div class="ttname"><a href="a00176.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead">glm::float1</a></div><div class="ttdeci">float float1</div><div class="ttdoc">single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00098">compatibility.hpp:98</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga73720b8dc4620835b17f74d428f98c0c"><div class="ttname"><a href="a00176.html#ga73720b8dc4620835b17f74d428f98c0c">glm::float1x1</a></div><div class="ttdeci">float float1x1</div><div class="ttdoc">single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00103">compatibility.hpp:103</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga197ded5ad8354f6b6fb91189d7a269b3"><div class="ttname"><a href="a00176.html#ga197ded5ad8354f6b6fb91189d7a269b3">glm::int2x3</a></div><div class="ttdeci">mat< 2, 3, int, highp > int2x3</div><div class="ttdoc">integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00089">compatibility.hpp:89</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga6c97b99aac3e302053ffb58aace9033c"><div class="ttname"><a href="a00176.html#ga6c97b99aac3e302053ffb58aace9033c">glm::bool3x3</a></div><div class="ttdeci">mat< 3, 3, bool, highp > bool3x3</div><div class="ttdoc">boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) </div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00076">compatibility.hpp:76</a></div></div>
|
||||
<div class="ttc" id="a00176_html_ga821ff110fc8533a053cbfcc93e078cc0"><div class="ttname"><a href="a00176.html#ga821ff110fc8533a053cbfcc93e078cc0">glm::float3</a></div><div class="ttdeci">vec< 3, float, highp > float3</div><div class="ttdoc">single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00100">compatibility.hpp:100</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
141
test/glm/doc/api/a00018.html
Normal file
141
test/glm/doc/api/a00018.html
Normal file
@@ -0,0 +1,141 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: component_wise.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">component_wise.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00177.html">GLM_GTX_component_wise</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00018_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#gaf71833350e15e74d31cbf8a3e7f27051">compAdd</a> (genType const &v)</td></tr>
|
||||
<tr class="memdesc:gaf71833350e15e74d31cbf8a3e7f27051"><td class="mdescLeft"> </td><td class="mdescRight">Add all vector components together. <a href="a00177.html#gaf71833350e15e74d31cbf8a3e7f27051">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf71833350e15e74d31cbf8a3e7f27051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#gabfa4bb19298c8c73d4217ba759c496b6">compMax</a> (genType const &v)</td></tr>
|
||||
<tr class="memdesc:gabfa4bb19298c8c73d4217ba759c496b6"><td class="mdescLeft"> </td><td class="mdescRight">Find the maximum value between single vector components. <a href="a00177.html#gabfa4bb19298c8c73d4217ba759c496b6">More...</a><br /></td></tr>
|
||||
<tr class="separator:gabfa4bb19298c8c73d4217ba759c496b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#gab5d0832b5c7bb01b8d7395973bfb1425">compMin</a> (genType const &v)</td></tr>
|
||||
<tr class="memdesc:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="mdescLeft"> </td><td class="mdescRight">Find the minimum value between single vector components. <a href="a00177.html#gab5d0832b5c7bb01b8d7395973bfb1425">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab5d0832b5c7bb01b8d7395973bfb1425"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#gae8ab88024197202c9479d33bdc5a8a5d">compMul</a> (genType const &v)</td></tr>
|
||||
<tr class="memdesc:gae8ab88024197202c9479d33bdc5a8a5d"><td class="mdescLeft"> </td><td class="mdescRight">Multiply all vector components together. <a href="a00177.html#gae8ab88024197202c9479d33bdc5a8a5d">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae8ab88024197202c9479d33bdc5a8a5d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8f2b81ada8515875e58cb1667b6b9908"><td class="memTemplParams" colspan="2">template<typename floatType , length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga8f2b81ada8515875e58cb1667b6b9908"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, floatType, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#ga8f2b81ada8515875e58cb1667b6b9908">compNormalize</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga8f2b81ada8515875e58cb1667b6b9908"><td class="mdescLeft"> </td><td class="mdescRight">Convert an integer vector to a normalized float vector. <a href="a00177.html#ga8f2b81ada8515875e58cb1667b6b9908">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8f2b81ada8515875e58cb1667b6b9908"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga80abc2980d65d675f435d178c36880eb"><td class="memTemplParams" colspan="2">template<length_t L, typename T , typename floatType , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga80abc2980d65d675f435d178c36880eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00177.html#ga80abc2980d65d675f435d178c36880eb">compScale</a> (vec< L, floatType, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga80abc2980d65d675f435d178c36880eb"><td class="mdescLeft"> </td><td class="mdescRight">Convert a normalized float vector to an integer vector. <a href="a00177.html#ga80abc2980d65d675f435d178c36880eb">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga80abc2980d65d675f435d178c36880eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00177.html">GLM_GTX_component_wise</a> </p>
|
||||
<dl class="section date"><dt>Date</dt><dd>2007-05-21 / 2011-06-07 </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd>Christophe Riccio</dd></dl>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00018_source.html">component_wise.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
145
test/glm/doc/api/a00018_source.html
Normal file
145
test/glm/doc/api/a00018_source.html
Normal file
@@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: component_wise.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">component_wise.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00018.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"># error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_component_wise extension included")</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">template</span><<span class="keyword">typename</span> <span class="keywordtype">float</span>Type, length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  GLM_FUNC_DECL vec<L, floatType, Q> <a class="code" href="a00177.html#ga8f2b81ada8515875e58cb1667b6b9908">compNormalize</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, <span class="keyword">typename</span> <span class="keywordtype">float</span>Type, qualifier Q></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00177.html#ga80abc2980d65d675f435d178c36880eb">compScale</a>(vec<L, floatType, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00177.html#gaf71833350e15e74d31cbf8a3e7f27051">compAdd</a>(genType <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00177.html#gae8ab88024197202c9479d33bdc5a8a5d">compMul</a>(genType <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00177.html#gab5d0832b5c7bb01b8d7395973bfb1425">compMin</a>(genType <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  GLM_FUNC_DECL <span class="keyword">typename</span> genType::value_type <a class="code" href="a00177.html#gabfa4bb19298c8c73d4217ba759c496b6">compMax</a>(genType <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include "component_wise.inl"</span></div>
|
||||
<div class="ttc" id="a00177_html_ga80abc2980d65d675f435d178c36880eb"><div class="ttname"><a href="a00177.html#ga80abc2980d65d675f435d178c36880eb">glm::compScale</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > compScale(vec< L, floatType, Q > const &v)</div><div class="ttdoc">Convert a normalized float vector to an integer vector. </div></div>
|
||||
<div class="ttc" id="a00177_html_gabfa4bb19298c8c73d4217ba759c496b6"><div class="ttname"><a href="a00177.html#gabfa4bb19298c8c73d4217ba759c496b6">glm::compMax</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMax(genType const &v)</div><div class="ttdoc">Find the maximum value between single vector components. </div></div>
|
||||
<div class="ttc" id="a00177_html_gaf71833350e15e74d31cbf8a3e7f27051"><div class="ttname"><a href="a00177.html#gaf71833350e15e74d31cbf8a3e7f27051">glm::compAdd</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compAdd(genType const &v)</div><div class="ttdoc">Add all vector components together. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00177_html_gae8ab88024197202c9479d33bdc5a8a5d"><div class="ttname"><a href="a00177.html#gae8ab88024197202c9479d33bdc5a8a5d">glm::compMul</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMul(genType const &v)</div><div class="ttdoc">Multiply all vector components together. </div></div>
|
||||
<div class="ttc" id="a00177_html_ga8f2b81ada8515875e58cb1667b6b9908"><div class="ttname"><a href="a00177.html#ga8f2b81ada8515875e58cb1667b6b9908">glm::compNormalize</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, floatType, Q > compNormalize(vec< L, T, Q > const &v)</div><div class="ttdoc">Convert an integer vector to a normalized float vector. </div></div>
|
||||
<div class="ttc" id="a00177_html_gab5d0832b5c7bb01b8d7395973bfb1425"><div class="ttname"><a href="a00177.html#gab5d0832b5c7bb01b8d7395973bfb1425">glm::compMin</a></div><div class="ttdeci">GLM_FUNC_DECL genType::value_type compMin(genType const &v)</div><div class="ttdoc">Find the minimum value between single vector components. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
129
test/glm/doc/api/a00019_source.html
Normal file
129
test/glm/doc/api/a00019_source.html
Normal file
@@ -0,0 +1,129 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: compute_vector_relational.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_da256b9dd32ba43e2eaa8a2832c37f1b.html">detail</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">compute_vector_relational.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include "<a class="code" href="a00094.html">setup.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include <cstring></span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include <limits></span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a>{</div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="keyword">namespace </span>detail</div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> {</div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  template <typename T, bool isFloat = std::numeric_limits<T>::is_iec559></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keyword">struct </span>compute_equal</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  {</div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> <span class="keywordtype">bool</span> call(T a, T b)</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keywordflow">return</span> a == b;</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  }</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  };</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keyword">template</span> <<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keyword">struct </span>compute_equal<T, true></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  GLM_FUNC_QUALIFIER <span class="keyword">static</span> <span class="keywordtype">bool</span> call(T a, T b)</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordflow">return</span> std::memcmp(&a, &b, <span class="keyword">sizeof</span>(T)) == 0;</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  }</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  };</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> }<span class="comment">//namespace detail</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00094_html"><div class="ttname"><a href="a00094.html">setup.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
231
test/glm/doc/api/a00020.html
Normal file
231
test/glm/doc/api/a00020.html
Normal file
@@ -0,0 +1,231 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: constants.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">constants.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00151.html">GLM_GTC_constants</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00020_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a> ()</td></tr>
|
||||
<tr class="memdesc:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="mdescLeft"> </td><td class="mdescRight">Return e constant. <a href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4b7956eb6e2fbedfc7cf2e46e85c5139"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a> ()</td></tr>
|
||||
<tr class="memdesc:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="mdescLeft"> </td><td class="mdescRight">Return the epsilon constant for floating point types. <a href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2a1e57fc5592b69cfae84174cbfc9429"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a> ()</td></tr>
|
||||
<tr class="memdesc:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="mdescLeft"> </td><td class="mdescRight">Return Euler's constant. <a href="a00151.html#gad8fe2e6f90bce9d829e9723b649fbd42">More...</a><br /></td></tr>
|
||||
<tr class="separator:gad8fe2e6f90bce9d829e9723b649fbd42"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="mdescLeft"> </td><td class="mdescRight">Return 4 / pi. <a href="a00151.html#ga753950e5140e4ea6a88e4a18ba61dc09">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga753950e5140e4ea6a88e4a18ba61dc09"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga748cf8642830657c5b7eae04d0a80899"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a> ()</td></tr>
|
||||
<tr class="memdesc:ga748cf8642830657c5b7eae04d0a80899"><td class="mdescLeft"> </td><td class="mdescRight">Return the golden ratio constant. <a href="a00151.html#ga748cf8642830657c5b7eae04d0a80899">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga748cf8642830657c5b7eae04d0a80899"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga0c36b41d462e45641faf7d7938948bac"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga0c36b41d462e45641faf7d7938948bac"><td class="mdescLeft"> </td><td class="mdescRight">Return pi / 2. <a href="a00151.html#ga0c36b41d462e45641faf7d7938948bac">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0c36b41d462e45641faf7d7938948bac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaca94292c839ed31a405ab7a81ae7e850"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a> ()</td></tr>
|
||||
<tr class="memdesc:gaca94292c839ed31a405ab7a81ae7e850"><td class="mdescLeft"> </td><td class="mdescRight">Return ln(ln(2)). <a href="a00151.html#gaca94292c839ed31a405ab7a81ae7e850">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaca94292c839ed31a405ab7a81ae7e850"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a> ()</td></tr>
|
||||
<tr class="memdesc:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="mdescLeft"> </td><td class="mdescRight">Return ln(10). <a href="a00151.html#gaf97ebc6c059ffd788e6c4946f71ef66c">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf97ebc6c059ffd788e6c4946f71ef66c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga24f4d27765678116f41a2f336ab7975c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a> ()</td></tr>
|
||||
<tr class="memdesc:ga24f4d27765678116f41a2f336ab7975c"><td class="mdescLeft"> </td><td class="mdescRight">Return ln(2). <a href="a00151.html#ga24f4d27765678116f41a2f336ab7975c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga24f4d27765678116f41a2f336ab7975c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga39c2fb227631ca25894326529bdd1ee5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga39c2fb227631ca25894326529bdd1ee5">one</a> ()</td></tr>
|
||||
<tr class="memdesc:ga39c2fb227631ca25894326529bdd1ee5"><td class="mdescLeft"> </td><td class="mdescRight">Return 1. <a href="a00151.html#ga39c2fb227631ca25894326529bdd1ee5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga39c2fb227631ca25894326529bdd1ee5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga555150da2b06d23c8738981d5013e0eb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga555150da2b06d23c8738981d5013e0eb"><td class="mdescLeft"> </td><td class="mdescRight">Return 1 / pi. <a href="a00151.html#ga555150da2b06d23c8738981d5013e0eb">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga555150da2b06d23c8738981d5013e0eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a> ()</td></tr>
|
||||
<tr class="memdesc:ga788fa23a0939bac4d1d0205fb4f35818"><td class="mdescLeft"> </td><td class="mdescRight">Return 1 / sqrt(2). <a href="a00151.html#ga788fa23a0939bac4d1d0205fb4f35818">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga788fa23a0939bac4d1d0205fb4f35818"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="mdescLeft"> </td><td class="mdescRight">Return 1 / (pi * 2). <a href="a00151.html#ga7c922b427986cbb2e4c6ac69874eefbc">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7c922b427986cbb2e4c6ac69874eefbc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="mdescLeft"> </td><td class="mdescRight">Return the pi constant. <a href="a00151.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga94bafeb2a0f23ab6450fed1f98ee4e45"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="mdescLeft"> </td><td class="mdescRight">Return pi / 4. <a href="a00151.html#ga3c9df42bd73c519a995c43f0f99e77e0">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3c9df42bd73c519a995c43f0f99e77e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a> ()</td></tr>
|
||||
<tr class="memdesc:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(5). <a href="a00151.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae9ebbded75b53d4faeb1e4ef8b3347a2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga4e276cb823cc5e612d4f89ed99c75039"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(pi / 2). <a href="a00151.html#ga4e276cb823cc5e612d4f89ed99c75039">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4e276cb823cc5e612d4f89ed99c75039"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga4129412e96b33707a77c1a07652e23e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a> ()</td></tr>
|
||||
<tr class="memdesc:ga4129412e96b33707a77c1a07652e23e2"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(ln(4)). <a href="a00151.html#ga4129412e96b33707a77c1a07652e23e2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4129412e96b33707a77c1a07652e23e2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="mdescLeft"> </td><td class="mdescRight">Return square root of pi. <a href="a00151.html#ga261380796b2cd496f68d2cf1d08b8eb9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga261380796b2cd496f68d2cf1d08b8eb9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a> ()</td></tr>
|
||||
<tr class="memdesc:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(3). <a href="a00151.html#ga4f286be4abe88be1eed7d2a9f6cb193e">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4f286be4abe88be1eed7d2a9f6cb193e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a> ()</td></tr>
|
||||
<tr class="memdesc:ga74e607d29020f100c0d0dc46ce2ca950"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(2). <a href="a00151.html#ga74e607d29020f100c0d0dc46ce2ca950">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga74e607d29020f100c0d0dc46ce2ca950"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="mdescLeft"> </td><td class="mdescRight">Return sqrt(2 * pi). <a href="a00151.html#ga2bcedc575039fe0cd765742f8bbb0bd3">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2bcedc575039fe0cd765742f8bbb0bd3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga3077c6311010a214b69ddc8214ec13b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga3077c6311010a214b69ddc8214ec13b5">third</a> ()</td></tr>
|
||||
<tr class="memdesc:ga3077c6311010a214b69ddc8214ec13b5"><td class="mdescLeft"> </td><td class="mdescRight">Return 1 / 3. <a href="a00151.html#ga3077c6311010a214b69ddc8214ec13b5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3077c6311010a214b69ddc8214ec13b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gae94950df74b0ce382b1fc1d978ef7394"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:gae94950df74b0ce382b1fc1d978ef7394"><td class="mdescLeft"> </td><td class="mdescRight">Return pi / 2 * 3. <a href="a00151.html#gae94950df74b0ce382b1fc1d978ef7394">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae94950df74b0ce382b1fc1d978ef7394"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga74eadc8a211253079683219a3ea0462a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga74eadc8a211253079683219a3ea0462a"><td class="mdescLeft"> </td><td class="mdescRight">Return 2 / pi. <a href="a00151.html#ga74eadc8a211253079683219a3ea0462a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga74eadc8a211253079683219a3ea0462a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga5827301817640843cf02026a8d493894"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:ga5827301817640843cf02026a8d493894"><td class="mdescLeft"> </td><td class="mdescRight">Return 2 / sqrt(pi). <a href="a00151.html#ga5827301817640843cf02026a8d493894">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5827301817640843cf02026a8d493894"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaa5276a4617566abcfe49286f40e3a256"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a> ()</td></tr>
|
||||
<tr class="memdesc:gaa5276a4617566abcfe49286f40e3a256"><td class="mdescLeft"> </td><td class="mdescRight">Return pi * 2. <a href="a00151.html#gaa5276a4617566abcfe49286f40e3a256">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa5276a4617566abcfe49286f40e3a256"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a> ()</td></tr>
|
||||
<tr class="memdesc:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="mdescLeft"> </td><td class="mdescRight">Return 2 / 3. <a href="a00151.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9b4d2f4322edcf63a6737b92a29dd1f5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL GLM_CONSTEXPR genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00151.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a> ()</td></tr>
|
||||
<tr class="memdesc:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="mdescLeft"> </td><td class="mdescRight">Return 0. <a href="a00151.html#ga788f5a421fc0f40a1296ebc094cbaa8a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga788f5a421fc0f40a1296ebc094cbaa8a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00151.html">GLM_GTC_constants</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00020_source.html">constants.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
232
test/glm/doc/api/a00020_source.html
Normal file
232
test/glm/doc/api/a00020_source.html
Normal file
@@ -0,0 +1,232 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: constants.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">constants.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00020.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_constants extension included")</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>();</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga788f5a421fc0f40a1296ebc094cbaa8a">zero</a>();</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga39c2fb227631ca25894326529bdd1ee5">one</a>();</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">pi</a>();</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gaa5276a4617566abcfe49286f40e3a256">two_pi</a>();</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga261380796b2cd496f68d2cf1d08b8eb9">root_pi</a>();</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga0c36b41d462e45641faf7d7938948bac">half_pi</a>();</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gae94950df74b0ce382b1fc1d978ef7394">three_over_two_pi</a>();</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga3c9df42bd73c519a995c43f0f99e77e0">quarter_pi</a>();</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga555150da2b06d23c8738981d5013e0eb">one_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga7c922b427986cbb2e4c6ac69874eefbc">one_over_two_pi</a>();</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga74eadc8a211253079683219a3ea0462a">two_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga753950e5140e4ea6a88e4a18ba61dc09">four_over_pi</a>();</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga5827301817640843cf02026a8d493894">two_over_root_pi</a>();</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga788fa23a0939bac4d1d0205fb4f35818">one_over_root_two</a>();</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga4e276cb823cc5e612d4f89ed99c75039">root_half_pi</a>();</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga2bcedc575039fe0cd765742f8bbb0bd3">root_two_pi</a>();</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga4129412e96b33707a77c1a07652e23e2">root_ln_four</a>();</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">e</a>();</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gad8fe2e6f90bce9d829e9723b649fbd42">euler</a>();</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga74e607d29020f100c0d0dc46ce2ca950">root_two</a>();</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga4f286be4abe88be1eed7d2a9f6cb193e">root_three</a>();</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">root_five</a>();</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga24f4d27765678116f41a2f336ab7975c">ln_two</a>();</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gaf97ebc6c059ffd788e6c4946f71ef66c">ln_ten</a>();</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#gaca94292c839ed31a405ab7a81ae7e850">ln_ln_two</a>();</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga3077c6311010a214b69ddc8214ec13b5">third</a>();</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">two_thirds</a>();</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  GLM_FUNC_DECL GLM_CONSTEXPR genType <a class="code" href="a00151.html#ga748cf8642830657c5b7eae04d0a80899">golden_ratio</a>();</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#include "constants.inl"</span></div>
|
||||
<div class="ttc" id="a00151_html_ga74e607d29020f100c0d0dc46ce2ca950"><div class="ttname"><a href="a00151.html#ga74e607d29020f100c0d0dc46ce2ca950">glm::root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two()</div><div class="ttdoc">Return sqrt(2). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga9b4d2f4322edcf63a6737b92a29dd1f5"><div class="ttname"><a href="a00151.html#ga9b4d2f4322edcf63a6737b92a29dd1f5">glm::two_thirds</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds()</div><div class="ttdoc">Return 2 / 3. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types. </div></div>
|
||||
<div class="ttc" id="a00151_html_gad8fe2e6f90bce9d829e9723b649fbd42"><div class="ttname"><a href="a00151.html#gad8fe2e6f90bce9d829e9723b649fbd42">glm::euler</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType euler()</div><div class="ttdoc">Return Euler's constant. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga74eadc8a211253079683219a3ea0462a"><div class="ttname"><a href="a00151.html#ga74eadc8a211253079683219a3ea0462a">glm::two_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi()</div><div class="ttdoc">Return 2 / pi. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00151_html_ga24f4d27765678116f41a2f336ab7975c"><div class="ttname"><a href="a00151.html#ga24f4d27765678116f41a2f336ab7975c">glm::ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two()</div><div class="ttdoc">Return ln(2). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga5827301817640843cf02026a8d493894"><div class="ttname"><a href="a00151.html#ga5827301817640843cf02026a8d493894">glm::two_over_root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi()</div><div class="ttdoc">Return 2 / sqrt(pi). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga788fa23a0939bac4d1d0205fb4f35818"><div class="ttname"><a href="a00151.html#ga788fa23a0939bac4d1d0205fb4f35818">glm::one_over_root_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two()</div><div class="ttdoc">Return 1 / sqrt(2). </div></div>
|
||||
<div class="ttc" id="a00151_html_gaca94292c839ed31a405ab7a81ae7e850"><div class="ttname"><a href="a00151.html#gaca94292c839ed31a405ab7a81ae7e850">glm::ln_ln_two</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two()</div><div class="ttdoc">Return ln(ln(2)). </div></div>
|
||||
<div class="ttc" id="a00151_html_gaa5276a4617566abcfe49286f40e3a256"><div class="ttname"><a href="a00151.html#gaa5276a4617566abcfe49286f40e3a256">glm::two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi()</div><div class="ttdoc">Return pi * 2. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga753950e5140e4ea6a88e4a18ba61dc09"><div class="ttname"><a href="a00151.html#ga753950e5140e4ea6a88e4a18ba61dc09">glm::four_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi()</div><div class="ttdoc">Return 4 / pi. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga261380796b2cd496f68d2cf1d08b8eb9"><div class="ttname"><a href="a00151.html#ga261380796b2cd496f68d2cf1d08b8eb9">glm::root_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi()</div><div class="ttdoc">Return square root of pi. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga3c9df42bd73c519a995c43f0f99e77e0"><div class="ttname"><a href="a00151.html#ga3c9df42bd73c519a995c43f0f99e77e0">glm::quarter_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi()</div><div class="ttdoc">Return pi / 4. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga39c2fb227631ca25894326529bdd1ee5"><div class="ttname"><a href="a00151.html#ga39c2fb227631ca25894326529bdd1ee5">glm::one</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one()</div><div class="ttdoc">Return 1. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga0c36b41d462e45641faf7d7938948bac"><div class="ttname"><a href="a00151.html#ga0c36b41d462e45641faf7d7938948bac">glm::half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi()</div><div class="ttdoc">Return pi / 2. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga4f286be4abe88be1eed7d2a9f6cb193e"><div class="ttname"><a href="a00151.html#ga4f286be4abe88be1eed7d2a9f6cb193e">glm::root_three</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_three()</div><div class="ttdoc">Return sqrt(3). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga4129412e96b33707a77c1a07652e23e2"><div class="ttname"><a href="a00151.html#ga4129412e96b33707a77c1a07652e23e2">glm::root_ln_four</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four()</div><div class="ttdoc">Return sqrt(ln(4)). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga555150da2b06d23c8738981d5013e0eb"><div class="ttname"><a href="a00151.html#ga555150da2b06d23c8738981d5013e0eb">glm::one_over_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi()</div><div class="ttdoc">Return 1 / pi. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga7c922b427986cbb2e4c6ac69874eefbc"><div class="ttname"><a href="a00151.html#ga7c922b427986cbb2e4c6ac69874eefbc">glm::one_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi()</div><div class="ttdoc">Return 1 / (pi * 2). </div></div>
|
||||
<div class="ttc" id="a00151_html_gae9ebbded75b53d4faeb1e4ef8b3347a2"><div class="ttname"><a href="a00151.html#gae9ebbded75b53d4faeb1e4ef8b3347a2">glm::root_five</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_five()</div><div class="ttdoc">Return sqrt(5). </div></div>
|
||||
<div class="ttc" id="a00151_html_ga2bcedc575039fe0cd765742f8bbb0bd3"><div class="ttname"><a href="a00151.html#ga2bcedc575039fe0cd765742f8bbb0bd3">glm::root_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi()</div><div class="ttdoc">Return sqrt(2 * pi). </div></div>
|
||||
<div class="ttc" id="a00151_html_gaf97ebc6c059ffd788e6c4946f71ef66c"><div class="ttname"><a href="a00151.html#gaf97ebc6c059ffd788e6c4946f71ef66c">glm::ln_ten</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten()</div><div class="ttdoc">Return ln(10). </div></div>
|
||||
<div class="ttc" id="a00151_html_gae94950df74b0ce382b1fc1d978ef7394"><div class="ttname"><a href="a00151.html#gae94950df74b0ce382b1fc1d978ef7394">glm::three_over_two_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi()</div><div class="ttdoc">Return pi / 2 * 3. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga94bafeb2a0f23ab6450fed1f98ee4e45"><div class="ttname"><a href="a00151.html#ga94bafeb2a0f23ab6450fed1f98ee4e45">glm::pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType pi()</div><div class="ttdoc">Return the pi constant. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga788f5a421fc0f40a1296ebc094cbaa8a"><div class="ttname"><a href="a00151.html#ga788f5a421fc0f40a1296ebc094cbaa8a">glm::zero</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType zero()</div><div class="ttdoc">Return 0. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga748cf8642830657c5b7eae04d0a80899"><div class="ttname"><a href="a00151.html#ga748cf8642830657c5b7eae04d0a80899">glm::golden_ratio</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio()</div><div class="ttdoc">Return the golden ratio constant. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga3077c6311010a214b69ddc8214ec13b5"><div class="ttname"><a href="a00151.html#ga3077c6311010a214b69ddc8214ec13b5">glm::third</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType third()</div><div class="ttdoc">Return 1 / 3. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga4b7956eb6e2fbedfc7cf2e46e85c5139"><div class="ttname"><a href="a00151.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139">glm::e</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType e()</div><div class="ttdoc">Return e constant. </div></div>
|
||||
<div class="ttc" id="a00151_html_ga4e276cb823cc5e612d4f89ed99c75039"><div class="ttname"><a href="a00151.html#ga4e276cb823cc5e612d4f89ed99c75039">glm::root_half_pi</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi()</div><div class="ttdoc">Return sqrt(pi / 2). </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
192
test/glm/doc/api/a00021.html
Normal file
192
test/glm/doc/api/a00021.html
Normal file
@@ -0,0 +1,192 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: dual_quaternion.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#typedef-members">Typedefs</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">dual_quaternion.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00178.html">GLM_GTX_dual_quaternion</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00021_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
||||
Typedefs</h2></td></tr>
|
||||
<tr class="memitem:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memItemLeft" align="right" valign="top">typedef highp_ddualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a></td></tr>
|
||||
<tr class="memdesc:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of default double-qualifier floating-point numbers. <a href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3d71f98d84ba59dfe4e369fde4714cd6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a></td></tr>
|
||||
<tr class="memdesc:gae93abee0c979902fbec6a7bee0f6fae1"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of floating-point numbers. <a href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae93abee0c979902fbec6a7bee0f6fae1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memItemLeft" align="right" valign="top">typedef highp_fdualquat </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a></td></tr>
|
||||
<tr class="memdesc:ga237c2b9b42c9a930e49de5840ae0f930"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of single-qualifier floating-point numbers. <a href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga237c2b9b42c9a930e49de5840ae0f930"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a></td></tr>
|
||||
<tr class="memdesc:ga8f67eafa7197d7a668dad5105a463d2a"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high double-qualifier floating-point numbers. <a href="a00178.html#ga8f67eafa7197d7a668dad5105a463d2a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8f67eafa7197d7a668dad5105a463d2a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a></td></tr>
|
||||
<tr class="memdesc:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high single-qualifier floating-point numbers. <a href="a00178.html#ga9ef5bf1da52a9d4932335a517086ceaf">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga9ef5bf1da52a9d4932335a517086ceaf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4c4e55e9c99dc57b299ed590968da564"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, highp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a></td></tr>
|
||||
<tr class="memdesc:ga4c4e55e9c99dc57b299ed590968da564"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of high single-qualifier floating-point numbers. <a href="a00178.html#ga4c4e55e9c99dc57b299ed590968da564">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4c4e55e9c99dc57b299ed590968da564"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a></td></tr>
|
||||
<tr class="memdesc:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low double-qualifier floating-point numbers. <a href="a00178.html#gab4c5103338af3dac7e0fbc86895a3f1a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab4c5103338af3dac7e0fbc86895a3f1a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a></td></tr>
|
||||
<tr class="memdesc:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low single-qualifier floating-point numbers. <a href="a00178.html#gade05d29ebd4deea0f883d0e1bb4169aa">More...</a><br /></td></tr>
|
||||
<tr class="separator:gade05d29ebd4deea0f883d0e1bb4169aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa38f671be25a7f3b136a452a8bb42860"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, lowp > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a></td></tr>
|
||||
<tr class="memdesc:gaa38f671be25a7f3b136a452a8bb42860"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of low single-qualifier floating-point numbers. <a href="a00178.html#gaa38f671be25a7f3b136a452a8bb42860">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa38f671be25a7f3b136a452a8bb42860"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< double, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a></td></tr>
|
||||
<tr class="memdesc:ga0fb11e48e2d16348ccb06a25213641b4"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium double-qualifier floating-point numbers. <a href="a00178.html#ga0fb11e48e2d16348ccb06a25213641b4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0fb11e48e2d16348ccb06a25213641b4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a></td></tr>
|
||||
<tr class="memdesc:gaa7aeb54c167712b38f2178a1be2360ad"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium single-qualifier floating-point numbers. <a href="a00178.html#gaa7aeb54c167712b38f2178a1be2360ad">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa7aeb54c167712b38f2178a1be2360ad"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4a6b594ff7e81150d8143001367a9431"><td class="memItemLeft" align="right" valign="top">typedef tdualquat< float, mediump > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00178.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a></td></tr>
|
||||
<tr class="memdesc:ga4a6b594ff7e81150d8143001367a9431"><td class="mdescLeft"> </td><td class="mdescRight">Dual-quaternion of medium single-qualifier floating-point numbers. <a href="a00178.html#ga4a6b594ff7e81150d8143001367a9431">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4a6b594ff7e81150d8143001367a9431"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga0b35c0e30df8a875dbaa751e0bd800e0"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga0b35c0e30df8a875dbaa751e0bd800e0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#ga0b35c0e30df8a875dbaa751e0bd800e0">dual_quat_identity</a> ()</td></tr>
|
||||
<tr class="memdesc:ga0b35c0e30df8a875dbaa751e0bd800e0"><td class="mdescLeft"> </td><td class="mdescRight">Creates an identity dual quaternion. <a href="a00178.html#ga0b35c0e30df8a875dbaa751e0bd800e0">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0b35c0e30df8a875dbaa751e0bd800e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gac4064ff813759740201765350eac4236"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac4064ff813759740201765350eac4236"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#gac4064ff813759740201765350eac4236">dualquat_cast</a> (mat< 2, 4, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gac4064ff813759740201765350eac4236"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. <a href="a00178.html#gac4064ff813759740201765350eac4236">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac4064ff813759740201765350eac4236"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga91025ebdca0f4ea54da08497b00e8c84"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga91025ebdca0f4ea54da08497b00e8c84"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#ga91025ebdca0f4ea54da08497b00e8c84">dualquat_cast</a> (mat< 3, 4, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga91025ebdca0f4ea54da08497b00e8c84"><td class="mdescLeft"> </td><td class="mdescRight">Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. <a href="a00178.html#ga91025ebdca0f4ea54da08497b00e8c84">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga91025ebdca0f4ea54da08497b00e8c84"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga070f521a953f6461af4ab4cf8ccbf27e"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga070f521a953f6461af4ab4cf8ccbf27e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#ga070f521a953f6461af4ab4cf8ccbf27e">inverse</a> (tdualquat< T, Q > const &q)</td></tr>
|
||||
<tr class="memdesc:ga070f521a953f6461af4ab4cf8ccbf27e"><td class="mdescLeft"> </td><td class="mdescRight">Returns the q inverse. <a href="a00178.html#ga070f521a953f6461af4ab4cf8ccbf27e">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga070f521a953f6461af4ab4cf8ccbf27e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gace8380112d16d33f520839cb35a4d173"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gace8380112d16d33f520839cb35a4d173"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#gace8380112d16d33f520839cb35a4d173">lerp</a> (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)</td></tr>
|
||||
<tr class="memdesc:gace8380112d16d33f520839cb35a4d173"><td class="mdescLeft"> </td><td class="mdescRight">Returns the linear interpolation of two dual quaternion. <a href="a00178.html#gace8380112d16d33f520839cb35a4d173">More...</a><br /></td></tr>
|
||||
<tr class="separator:gace8380112d16d33f520839cb35a4d173"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae99d143b37f9cad4cd9285571aab685a"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gae99d143b37f9cad4cd9285571aab685a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 2, 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#gae99d143b37f9cad4cd9285571aab685a">mat2x4_cast</a> (tdualquat< T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gae99d143b37f9cad4cd9285571aab685a"><td class="mdescLeft"> </td><td class="mdescRight">Converts a quaternion to a 2 * 4 matrix. <a href="a00178.html#gae99d143b37f9cad4cd9285571aab685a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae99d143b37f9cad4cd9285571aab685a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf59f5bb69620d2891c3795c6f2639179"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf59f5bb69620d2891c3795c6f2639179"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 3, 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#gaf59f5bb69620d2891c3795c6f2639179">mat3x4_cast</a> (tdualquat< T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gaf59f5bb69620d2891c3795c6f2639179"><td class="mdescLeft"> </td><td class="mdescRight">Converts a quaternion to a 3 * 4 matrix. <a href="a00178.html#gaf59f5bb69620d2891c3795c6f2639179">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf59f5bb69620d2891c3795c6f2639179"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga299b8641509606b1958ffa104a162cfe"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga299b8641509606b1958ffa104a162cfe"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL tdualquat< T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00178.html#ga299b8641509606b1958ffa104a162cfe">normalize</a> (tdualquat< T, Q > const &q)</td></tr>
|
||||
<tr class="memdesc:ga299b8641509606b1958ffa104a162cfe"><td class="mdescLeft"> </td><td class="mdescRight">Returns the normalized quaternion. <a href="a00178.html#ga299b8641509606b1958ffa104a162cfe">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga299b8641509606b1958ffa104a162cfe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00178.html">GLM_GTX_dual_quaternion</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd>Maksim Vorobiev (<a href="#" onclick="location.href='mai'+'lto:'+'mso'+'me'+'one'+'@g'+'mai'+'l.'+'com'; return false;">msome<span style="display: none;">.nosp@m.</span>one@<span style="display: none;">.nosp@m.</span>gmail<span style="display: none;">.nosp@m.</span>.com</a>)</dd></dl>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00151.html" title="Include <glm/gtc/constants.hpp> to use the features of this extension. ">GLM_GTC_constants</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00160.html" title="Include <glm/gtc/quaternion.hpp> to use the features of this extension. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00021_source.html">dual_quaternion.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
317
test/glm/doc/api/a00021_source.html
Normal file
317
test/glm/doc/api/a00021_source.html
Normal file
@@ -0,0 +1,317 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: dual_quaternion.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">dual_quaternion.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00021.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "../gtc/constants.hpp"</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "../gtc/quaternion.hpp"</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"># error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_dual_quaternion extension included")</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q = defaultp></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">struct </span>tdualquat</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="comment">// -- Implementation detail --</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">typedef</span> T value_type;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">typedef</span> glm::tquat<T, Q> part_type;</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// -- Data --</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  glm::tquat<T, Q> real, dual;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// -- Component accesses --</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">typedef</span> length_t length_type;</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  GLM_FUNC_DECL <span class="keyword">static</span> GLM_CONSTEXPR length_type <a class="code" href="a00142.html#ga0cdabbb000834d994a1d6dc56f8f5263">length</a>(){<span class="keywordflow">return</span> 2;}</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  GLM_FUNC_DECL part_type & operator[](length_type i);</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL part_type <span class="keyword">const</span>& operator[](length_type i) <span class="keyword">const</span>;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="comment">// -- Implicit basic constructors --</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat<T, Q> const& d) GLM_DEFAULT;</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  template<qualifier P></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat<T, P> const& d);</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// -- Explicit basic constructors --</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat<T, Q> const& real);</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat<T, Q> const& <a class="code" href="a00216.html#ga1a32fceb71962e6160e8af295c91930a">orientation</a>, vec<3, T, Q> const& translation);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tquat<T, Q> const& real, tquat<T, Q> const& dual);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// -- Conversion constructors --</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  template<typename U, qualifier P></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tdualquat(tdualquat<U, P> const& q);</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<2, 4, T, Q> const& holder_mat);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<3, 4, T, Q> const& aug_mat);</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// -- Unary arithmetic operators --</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  GLM_FUNC_DECL tdualquat<T, Q> & operator=(tdualquat<T, Q> const& m) GLM_DEFAULT;</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  template<typename U></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  GLM_FUNC_DECL tdualquat<T, Q> & operator=(tdualquat<U, Q> const& m);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  template<typename U></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  GLM_FUNC_DECL tdualquat<T, Q> & operator*=(U s);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  template<typename U></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  GLM_FUNC_DECL tdualquat<T, Q> & operator/=(U s);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  };</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// -- Unary bit operators --</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  GLM_FUNC_DECL tdualquat<T, Q> operator+(tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  GLM_FUNC_DECL tdualquat<T, Q> operator-(tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// -- Binary operators --</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  GLM_FUNC_DECL tdualquat<T, Q> operator+(tdualquat<T, Q> const& q, tdualquat<T, Q> const& p);</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  GLM_FUNC_DECL tdualquat<T, Q> operator*(tdualquat<T, Q> const& q, tdualquat<T, Q> const& p);</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  GLM_FUNC_DECL vec<3, T, Q> operator*(tdualquat<T, Q> const& q, vec<3, T, Q> const& v);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  GLM_FUNC_DECL vec<4, T, Q> operator*(tdualquat<T, Q> const& q, vec<4, T, Q> const& v);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  GLM_FUNC_DECL tdualquat<T, Q> operator*(tdualquat<T, Q> const& q, T const& s);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  GLM_FUNC_DECL tdualquat<T, Q> operator*(T const& s, tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  GLM_FUNC_DECL tdualquat<T, Q> operator/(tdualquat<T, Q> const& q, T const& s);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// -- Boolean operators --</span></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  GLM_FUNC_DECL <span class="keywordtype">bool</span> operator==(tdualquat<T, Q> const& q1, tdualquat<T, Q> const& q2);</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  GLM_FUNC_DECL <span class="keywordtype">bool</span> operator!=(tdualquat<T, Q> const& q1, tdualquat<T, Q> const& q2);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  template <typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#ga0b35c0e30df8a875dbaa751e0bd800e0">dual_quat_identity</a>();</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#ga299b8641509606b1958ffa104a162cfe">normalize</a>(tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#gace8380112d16d33f520839cb35a4d173">lerp</a>(tdualquat<T, Q> const& x, tdualquat<T, Q> const& y, T const& a);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#ga070f521a953f6461af4ab4cf8ccbf27e">inverse</a>(tdualquat<T, Q> const& q);</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  GLM_FUNC_DECL mat<2, 4, T, Q> <a class="code" href="a00178.html#gae99d143b37f9cad4cd9285571aab685a">mat2x4_cast</a>(tdualquat<T, Q> const& x);</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  GLM_FUNC_DECL mat<3, 4, T, Q> <a class="code" href="a00178.html#gaf59f5bb69620d2891c3795c6f2639179">mat3x4_cast</a>(tdualquat<T, Q> const& x);</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#ga91025ebdca0f4ea54da08497b00e8c84">dualquat_cast</a>(mat<2, 4, T, Q> const& x);</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  template<typename T, qualifier Q></div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  GLM_FUNC_DECL tdualquat<T, Q> <a class="code" href="a00178.html#ga91025ebdca0f4ea54da08497b00e8c84">dualquat_cast</a>(mat<3, 4, T, Q> const& x);</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="a00178.html#gade05d29ebd4deea0f883d0e1bb4169aa"> 187</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, lowp> <a class="code" href="a00178.html#gade05d29ebd4deea0f883d0e1bb4169aa">lowp_dualquat</a>;</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="a00178.html#gaa7aeb54c167712b38f2178a1be2360ad"> 192</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, mediump> <a class="code" href="a00178.html#gaa7aeb54c167712b38f2178a1be2360ad">mediump_dualquat</a>;</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="a00178.html#ga9ef5bf1da52a9d4932335a517086ceaf"> 197</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, highp> <a class="code" href="a00178.html#ga9ef5bf1da52a9d4932335a517086ceaf">highp_dualquat</a>;</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="a00178.html#gaa38f671be25a7f3b136a452a8bb42860"> 203</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, lowp> <a class="code" href="a00178.html#gaa38f671be25a7f3b136a452a8bb42860">lowp_fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="a00178.html#ga4a6b594ff7e81150d8143001367a9431"> 208</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, mediump> <a class="code" href="a00178.html#ga4a6b594ff7e81150d8143001367a9431">mediump_fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="a00178.html#ga4c4e55e9c99dc57b299ed590968da564"> 213</a></span>  typedef tdualquat<<span class="keywordtype">float</span>, highp> <a class="code" href="a00178.html#ga4c4e55e9c99dc57b299ed590968da564">highp_fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="a00178.html#gab4c5103338af3dac7e0fbc86895a3f1a"> 219</a></span>  typedef tdualquat<<span class="keywordtype">double</span>, lowp> <a class="code" href="a00178.html#gab4c5103338af3dac7e0fbc86895a3f1a">lowp_ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="a00178.html#ga0fb11e48e2d16348ccb06a25213641b4"> 224</a></span>  typedef tdualquat<<span class="keywordtype">double</span>, mediump> <a class="code" href="a00178.html#ga0fb11e48e2d16348ccb06a25213641b4">mediump_ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="a00178.html#ga8f67eafa7197d7a668dad5105a463d2a"> 229</a></span>  typedef tdualquat<<span class="keywordtype">double</span>, highp> <a class="code" href="a00178.html#ga8f67eafa7197d7a668dad5105a463d2a">highp_ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor">#if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">typedef</span> highp_fdualquat <a class="code" href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930"> 241</a></span>  <span class="keyword">typedef</span> highp_fdualquat <a class="code" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor">#elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">typedef</span> highp_fdualquat <a class="code" href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">typedef</span> highp_fdualquat <a class="code" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">typedef</span> mediump_fdualquat <a class="code" href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">typedef</span> mediump_fdualquat <a class="code" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))</span></div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">typedef</span> lowp_fdualquat <a class="code" href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">dualquat</a>;</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keyword">typedef</span> lowp_fdualquat <a class="code" href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">fdualquat</a>;</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"># error "GLM error: multiple default precision requested for single-precision floating-point types"</span></div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor">#if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keyword">typedef</span> highp_ddualquat <a class="code" href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor">#elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">typedef</span> highp_ddualquat <a class="code" href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">typedef</span> mediump_ddualquat <a class="code" href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor">#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))</span></div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">typedef</span> lowp_ddualquat <a class="code" href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">ddualquat</a>;</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="preprocessor"># error "GLM error: Multiple default precision requested for double-precision floating-point types"</span></div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor">#include "dual_quaternion.inl"</span></div>
|
||||
<div class="ttc" id="a00178_html_gae93abee0c979902fbec6a7bee0f6fae1"><div class="ttname"><a href="a00178.html#gae93abee0c979902fbec6a7bee0f6fae1">glm::dualquat</a></div><div class="ttdeci">highp_fdualquat dualquat</div><div class="ttdoc">Dual-quaternion of floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00236">dual_quaternion.hpp:236</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga91025ebdca0f4ea54da08497b00e8c84"><div class="ttname"><a href="a00178.html#ga91025ebdca0f4ea54da08497b00e8c84">glm::dualquat_cast</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast(mat< 3, 4, T, Q > const &x)</div><div class="ttdoc">Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. </div></div>
|
||||
<div class="ttc" id="a00178_html_ga4a6b594ff7e81150d8143001367a9431"><div class="ttname"><a href="a00178.html#ga4a6b594ff7e81150d8143001367a9431">glm::mediump_fdualquat</a></div><div class="ttdeci">tdualquat< float, mediump > mediump_fdualquat</div><div class="ttdoc">Dual-quaternion of medium single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00208">dual_quaternion.hpp:208</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gae99d143b37f9cad4cd9285571aab685a"><div class="ttname"><a href="a00178.html#gae99d143b37f9cad4cd9285571aab685a">glm::mat2x4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast(tdualquat< T, Q > const &x)</div><div class="ttdoc">Converts a quaternion to a 2 * 4 matrix. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gab4c5103338af3dac7e0fbc86895a3f1a"><div class="ttname"><a href="a00178.html#gab4c5103338af3dac7e0fbc86895a3f1a">glm::lowp_ddualquat</a></div><div class="ttdeci">tdualquat< double, lowp > lowp_ddualquat</div><div class="ttdoc">Dual-quaternion of low double-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00219">dual_quaternion.hpp:219</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gaf59f5bb69620d2891c3795c6f2639179"><div class="ttname"><a href="a00178.html#gaf59f5bb69620d2891c3795c6f2639179">glm::mat3x4_cast</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast(tdualquat< T, Q > const &x)</div><div class="ttdoc">Converts a quaternion to a 3 * 4 matrix. </div></div>
|
||||
<div class="ttc" id="a00216_html_ga1a32fceb71962e6160e8af295c91930a"><div class="ttname"><a href="a00216.html#ga1a32fceb71962e6160e8af295c91930a">glm::orientation</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, Q > orientation(vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)</div><div class="ttdoc">Build a rotation matrix from a normal and a up vector. </div></div>
|
||||
<div class="ttc" id="a00178_html_ga9ef5bf1da52a9d4932335a517086ceaf"><div class="ttname"><a href="a00178.html#ga9ef5bf1da52a9d4932335a517086ceaf">glm::highp_dualquat</a></div><div class="ttdeci">tdualquat< float, highp > highp_dualquat</div><div class="ttdoc">Dual-quaternion of high single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00197">dual_quaternion.hpp:197</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gade05d29ebd4deea0f883d0e1bb4169aa"><div class="ttname"><a href="a00178.html#gade05d29ebd4deea0f883d0e1bb4169aa">glm::lowp_dualquat</a></div><div class="ttdeci">tdualquat< float, lowp > lowp_dualquat</div><div class="ttdoc">Dual-quaternion of low single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00187">dual_quaternion.hpp:187</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga237c2b9b42c9a930e49de5840ae0f930"><div class="ttname"><a href="a00178.html#ga237c2b9b42c9a930e49de5840ae0f930">glm::fdualquat</a></div><div class="ttdeci">highp_fdualquat fdualquat</div><div class="ttdoc">Dual-quaternion of single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00241">dual_quaternion.hpp:241</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga8f67eafa7197d7a668dad5105a463d2a"><div class="ttname"><a href="a00178.html#ga8f67eafa7197d7a668dad5105a463d2a">glm::highp_ddualquat</a></div><div class="ttdeci">tdualquat< double, highp > highp_ddualquat</div><div class="ttdoc">Dual-quaternion of high double-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00229">dual_quaternion.hpp:229</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga4c4e55e9c99dc57b299ed590968da564"><div class="ttname"><a href="a00178.html#ga4c4e55e9c99dc57b299ed590968da564">glm::highp_fdualquat</a></div><div class="ttdeci">tdualquat< float, highp > highp_fdualquat</div><div class="ttdoc">Dual-quaternion of high single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00213">dual_quaternion.hpp:213</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gace8380112d16d33f520839cb35a4d173"><div class="ttname"><a href="a00178.html#gace8380112d16d33f520839cb35a4d173">glm::lerp</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat< T, Q > lerp(tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)</div><div class="ttdoc">Returns the linear interpolation of two dual quaternion. </div></div>
|
||||
<div class="ttc" id="a00142_html_ga0cdabbb000834d994a1d6dc56f8f5263"><div class="ttname"><a href="a00142.html#ga0cdabbb000834d994a1d6dc56f8f5263">glm::length</a></div><div class="ttdeci">GLM_FUNC_DECL T length(vec< L, T, Q > const &x)</div><div class="ttdoc">Returns the length of x, i.e., sqrt(x * x). </div></div>
|
||||
<div class="ttc" id="a00178_html_ga3d71f98d84ba59dfe4e369fde4714cd6"><div class="ttname"><a href="a00178.html#ga3d71f98d84ba59dfe4e369fde4714cd6">glm::ddualquat</a></div><div class="ttdeci">highp_ddualquat ddualquat</div><div class="ttdoc">Dual-quaternion of default double-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00260">dual_quaternion.hpp:260</a></div></div>
|
||||
<div class="ttc" id="a00178_html_gaa7aeb54c167712b38f2178a1be2360ad"><div class="ttname"><a href="a00178.html#gaa7aeb54c167712b38f2178a1be2360ad">glm::mediump_dualquat</a></div><div class="ttdeci">tdualquat< float, mediump > mediump_dualquat</div><div class="ttdoc">Dual-quaternion of medium single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00192">dual_quaternion.hpp:192</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga0fb11e48e2d16348ccb06a25213641b4"><div class="ttname"><a href="a00178.html#ga0fb11e48e2d16348ccb06a25213641b4">glm::mediump_ddualquat</a></div><div class="ttdeci">tdualquat< double, mediump > mediump_ddualquat</div><div class="ttdoc">Dual-quaternion of medium double-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00224">dual_quaternion.hpp:224</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga0b35c0e30df8a875dbaa751e0bd800e0"><div class="ttname"><a href="a00178.html#ga0b35c0e30df8a875dbaa751e0bd800e0">glm::dual_quat_identity</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity()</div><div class="ttdoc">Creates an identity dual quaternion. </div></div>
|
||||
<div class="ttc" id="a00178_html_ga070f521a953f6461af4ab4cf8ccbf27e"><div class="ttname"><a href="a00178.html#ga070f521a953f6461af4ab4cf8ccbf27e">glm::inverse</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat< T, Q > inverse(tdualquat< T, Q > const &q)</div><div class="ttdoc">Returns the q inverse. </div></div>
|
||||
<div class="ttc" id="a00178_html_gaa38f671be25a7f3b136a452a8bb42860"><div class="ttname"><a href="a00178.html#gaa38f671be25a7f3b136a452a8bb42860">glm::lowp_fdualquat</a></div><div class="ttdeci">tdualquat< float, lowp > lowp_fdualquat</div><div class="ttdoc">Dual-quaternion of low single-qualifier floating-point numbers. </div><div class="ttdef"><b>Definition:</b> <a href="a00021_source.html#l00203">dual_quaternion.hpp:203</a></div></div>
|
||||
<div class="ttc" id="a00178_html_ga299b8641509606b1958ffa104a162cfe"><div class="ttname"><a href="a00178.html#ga299b8641509606b1958ffa104a162cfe">glm::normalize</a></div><div class="ttdeci">GLM_FUNC_DECL tdualquat< T, Q > normalize(tdualquat< T, Q > const &q)</div><div class="ttdoc">Returns the normalized quaternion. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
133
test/glm/doc/api/a00022.html
Normal file
133
test/glm/doc/api/a00022.html
Normal file
@@ -0,0 +1,133 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: epsilon.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">epsilon.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00152.html">GLM_GTC_epsilon</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00022_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga91b417866cafadd076004778217a1844"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga91b417866cafadd076004778217a1844"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga91b417866cafadd076004778217a1844">epsilonEqual</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)</td></tr>
|
||||
<tr class="memdesc:ga91b417866cafadd076004778217a1844"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise comparison of |x - y| < epsilon. <a href="a00152.html#ga91b417866cafadd076004778217a1844">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga91b417866cafadd076004778217a1844"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a> (genType const &x, genType const &y, genType const &epsilon)</td></tr>
|
||||
<tr class="memdesc:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise comparison of |x - y| < epsilon. <a href="a00152.html#gaa7f227999ca09e7ca994e8b35aba47bb">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa7f227999ca09e7ca994e8b35aba47bb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf840d33b9a5261ec78dcd5125743b025"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaf840d33b9a5261ec78dcd5125743b025"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, bool, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#gaf840d33b9a5261ec78dcd5125743b025">epsilonNotEqual</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)</td></tr>
|
||||
<tr class="memdesc:gaf840d33b9a5261ec78dcd5125743b025"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise comparison of |x - y| < epsilon. <a href="a00152.html#gaf840d33b9a5261ec78dcd5125743b025">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf840d33b9a5261ec78dcd5125743b025"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00152.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a> (genType const &x, genType const &y, genType const &epsilon)</td></tr>
|
||||
<tr class="memdesc:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="mdescLeft"> </td><td class="mdescRight">Returns the component-wise comparison of |x - y| >= epsilon. <a href="a00152.html#ga50a92103fb0cbd796908e1bf20c79aaf">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga50a92103fb0cbd796908e1bf20c79aaf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00152.html">GLM_GTC_epsilon</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00160.html" title="Include <glm/gtc/quaternion.hpp> to use the features of this extension. ">GLM_GTC_quaternion</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00022_source.html">epsilon.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
132
test/glm/doc/api/a00022_source.html
Normal file
132
test/glm/doc/api/a00022_source.html
Normal file
@@ -0,0 +1,132 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: epsilon.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_7997edb062bdde9a99cb6835d42b0d9d.html">gtc</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">epsilon.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00022.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"># pragma message("GLM: GLM_GTC_epsilon extension included")</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL vec<L, bool, Q> <a class="code" href="a00152.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y, T <span class="keyword">const</span>& <a class="code" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00152.html#gaa7f227999ca09e7ca994e8b35aba47bb">epsilonEqual</a>(genType <span class="keyword">const</span>& x, genType <span class="keyword">const</span>& y, genType <span class="keyword">const</span>& <a class="code" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  GLM_FUNC_DECL vec<L, bool, Q> <a class="code" href="a00152.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a>(vec<L, T, Q> <span class="keyword">const</span>& x, vec<L, T, Q> <span class="keyword">const</span>& y, T <span class="keyword">const</span>& <a class="code" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  GLM_FUNC_DECL <span class="keywordtype">bool</span> <a class="code" href="a00152.html#ga50a92103fb0cbd796908e1bf20c79aaf">epsilonNotEqual</a>(genType <span class="keyword">const</span>& x, genType <span class="keyword">const</span>& y, genType <span class="keyword">const</span>& <a class="code" href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">epsilon</a>);</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "epsilon.inl"</span></div>
|
||||
<div class="ttc" id="a00151_html_ga2a1e57fc5592b69cfae84174cbfc9429"><div class="ttname"><a href="a00151.html#ga2a1e57fc5592b69cfae84174cbfc9429">glm::epsilon</a></div><div class="ttdeci">GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()</div><div class="ttdoc">Return the epsilon constant for floating point types. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00152_html_gaa7f227999ca09e7ca994e8b35aba47bb"><div class="ttname"><a href="a00152.html#gaa7f227999ca09e7ca994e8b35aba47bb">glm::epsilonEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonEqual(genType const &x, genType const &y, genType const &epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| < epsilon. </div></div>
|
||||
<div class="ttc" id="a00152_html_ga50a92103fb0cbd796908e1bf20c79aaf"><div class="ttname"><a href="a00152.html#ga50a92103fb0cbd796908e1bf20c79aaf">glm::epsilonNotEqual</a></div><div class="ttdeci">GLM_FUNC_DECL bool epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)</div><div class="ttdoc">Returns the component-wise comparison of |x - y| >= epsilon. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
183
test/glm/doc/api/a00023.html
Normal file
183
test/glm/doc/api/a00023.html
Normal file
@@ -0,0 +1,183 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: euler_angles.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">euler_angles.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00179.html">GLM_GTX_euler_angles</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00023_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gafba6282e4ed3ff8b5c75331abfba3489"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gafba6282e4ed3ff8b5c75331abfba3489"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gafba6282e4ed3ff8b5c75331abfba3489">eulerAngleX</a> (T const &angleX)</td></tr>
|
||||
<tr class="memdesc:gafba6282e4ed3ff8b5c75331abfba3489"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. <a href="a00179.html#gafba6282e4ed3ff8b5c75331abfba3489">More...</a><br /></td></tr>
|
||||
<tr class="separator:gafba6282e4ed3ff8b5c75331abfba3489"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga64036577ee17a2d24be0dbc05881d4e2"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga64036577ee17a2d24be0dbc05881d4e2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga64036577ee17a2d24be0dbc05881d4e2">eulerAngleXY</a> (T const &angleX, T const &angleY)</td></tr>
|
||||
<tr class="memdesc:ga64036577ee17a2d24be0dbc05881d4e2"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). <a href="a00179.html#ga64036577ee17a2d24be0dbc05881d4e2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga64036577ee17a2d24be0dbc05881d4e2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1975e0f0e9bed7f716dc9946da2ab645"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga1975e0f0e9bed7f716dc9946da2ab645"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga1975e0f0e9bed7f716dc9946da2ab645">eulerAngleXYZ</a> (T const &t1, T const &t2, T const &t3)</td></tr>
|
||||
<tr class="memdesc:ga1975e0f0e9bed7f716dc9946da2ab645"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). <a href="a00179.html#ga1975e0f0e9bed7f716dc9946da2ab645">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga1975e0f0e9bed7f716dc9946da2ab645"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa39bd323c65c2fc0a1508be33a237ce9"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaa39bd323c65c2fc0a1508be33a237ce9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gaa39bd323c65c2fc0a1508be33a237ce9">eulerAngleXZ</a> (T const &angleX, T const &angleZ)</td></tr>
|
||||
<tr class="memdesc:gaa39bd323c65c2fc0a1508be33a237ce9"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). <a href="a00179.html#gaa39bd323c65c2fc0a1508be33a237ce9">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa39bd323c65c2fc0a1508be33a237ce9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab84bf4746805fd69b8ecbb230e3974c5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gab84bf4746805fd69b8ecbb230e3974c5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gab84bf4746805fd69b8ecbb230e3974c5">eulerAngleY</a> (T const &angleY)</td></tr>
|
||||
<tr class="memdesc:gab84bf4746805fd69b8ecbb230e3974c5"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. <a href="a00179.html#gab84bf4746805fd69b8ecbb230e3974c5">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab84bf4746805fd69b8ecbb230e3974c5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4f57e6dd25c3cffbbd4daa6ef3f4486d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga4f57e6dd25c3cffbbd4daa6ef3f4486d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d">eulerAngleYX</a> (T const &angleY, T const &angleX)</td></tr>
|
||||
<tr class="memdesc:ga4f57e6dd25c3cffbbd4daa6ef3f4486d"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). <a href="a00179.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4f57e6dd25c3cffbbd4daa6ef3f4486d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gab8ba99a9814f6d9edf417b6c6d5b0c10"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gab8ba99a9814f6d9edf417b6c6d5b0c10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gab8ba99a9814f6d9edf417b6c6d5b0c10">eulerAngleYXZ</a> (T const &yaw, T const &pitch, T const &roll)</td></tr>
|
||||
<tr class="memdesc:gab8ba99a9814f6d9edf417b6c6d5b0c10"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). <a href="a00179.html#gab8ba99a9814f6d9edf417b6c6d5b0c10">More...</a><br /></td></tr>
|
||||
<tr class="separator:gab8ba99a9814f6d9edf417b6c6d5b0c10"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga220379e10ac8cca55e275f0c9018fed9"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga220379e10ac8cca55e275f0c9018fed9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga220379e10ac8cca55e275f0c9018fed9">eulerAngleYZ</a> (T const &angleY, T const &angleZ)</td></tr>
|
||||
<tr class="memdesc:ga220379e10ac8cca55e275f0c9018fed9"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). <a href="a00179.html#ga220379e10ac8cca55e275f0c9018fed9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga220379e10ac8cca55e275f0c9018fed9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5b3935248bb6c3ec6b0d9297d406e251"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga5b3935248bb6c3ec6b0d9297d406e251"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga5b3935248bb6c3ec6b0d9297d406e251">eulerAngleZ</a> (T const &angleZ)</td></tr>
|
||||
<tr class="memdesc:ga5b3935248bb6c3ec6b0d9297d406e251"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. <a href="a00179.html#ga5b3935248bb6c3ec6b0d9297d406e251">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5b3935248bb6c3ec6b0d9297d406e251"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga483903115cd4059228961046a28d69b5"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga483903115cd4059228961046a28d69b5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga483903115cd4059228961046a28d69b5">eulerAngleZX</a> (T const &angle, T const &angleX)</td></tr>
|
||||
<tr class="memdesc:ga483903115cd4059228961046a28d69b5"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). <a href="a00179.html#ga483903115cd4059228961046a28d69b5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga483903115cd4059228961046a28d69b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga400b2bd5984999efab663f3a68e1d020"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga400b2bd5984999efab663f3a68e1d020"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga400b2bd5984999efab663f3a68e1d020">eulerAngleZY</a> (T const &angleZ, T const &angleY)</td></tr>
|
||||
<tr class="memdesc:ga400b2bd5984999efab663f3a68e1d020"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). <a href="a00179.html#ga400b2bd5984999efab663f3a68e1d020">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga400b2bd5984999efab663f3a68e1d020"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacea701562f778c1da4d3a0a1cf091000"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gacea701562f778c1da4d3a0a1cf091000"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gacea701562f778c1da4d3a0a1cf091000">extractEulerAngleXYZ</a> (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)</td></tr>
|
||||
<tr class="memdesc:gacea701562f778c1da4d3a0a1cf091000"><td class="mdescLeft"> </td><td class="mdescRight">Extracts the (X * Y * Z) Euler angles from the rotation matrix M. <a href="a00179.html#gacea701562f778c1da4d3a0a1cf091000">More...</a><br /></td></tr>
|
||||
<tr class="separator:gacea701562f778c1da4d3a0a1cf091000"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae16738a9f1887cf4e4db6a124637608d"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gae16738a9f1887cf4e4db6a124637608d"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 2, 2, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gae16738a9f1887cf4e4db6a124637608d">orientate2</a> (T const &angle)</td></tr>
|
||||
<tr class="memdesc:gae16738a9f1887cf4e4db6a124637608d"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 2D 2 * 2 rotation matrix from an euler angle. <a href="a00179.html#gae16738a9f1887cf4e4db6a124637608d">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae16738a9f1887cf4e4db6a124637608d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7ca98668a5786f19c7b38299ebbc9b4c"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga7ca98668a5786f19c7b38299ebbc9b4c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 3, 3, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga7ca98668a5786f19c7b38299ebbc9b4c">orientate3</a> (T const &angle)</td></tr>
|
||||
<tr class="memdesc:ga7ca98668a5786f19c7b38299ebbc9b4c"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. <a href="a00179.html#ga7ca98668a5786f19c7b38299ebbc9b4c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7ca98668a5786f19c7b38299ebbc9b4c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7238c8e15c7720e3ca6a45ab151eeabb"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga7238c8e15c7720e3ca6a45ab151eeabb"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 3, 3, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga7238c8e15c7720e3ca6a45ab151eeabb">orientate3</a> (vec< 3, T, Q > const &angles)</td></tr>
|
||||
<tr class="memdesc:ga7238c8e15c7720e3ca6a45ab151eeabb"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). <a href="a00179.html#ga7238c8e15c7720e3ca6a45ab151eeabb">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7238c8e15c7720e3ca6a45ab151eeabb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4a044653f71a4ecec68e0b623382b48a"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga4a044653f71a4ecec68e0b623382b48a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#ga4a044653f71a4ecec68e0b623382b48a">orientate4</a> (vec< 3, T, Q > const &angles)</td></tr>
|
||||
<tr class="memdesc:ga4a044653f71a4ecec68e0b623382b48a"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). <a href="a00179.html#ga4a044653f71a4ecec68e0b623382b48a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4a044653f71a4ecec68e0b623382b48a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae6aa26ccb020d281b449619e419a609e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gae6aa26ccb020d281b449619e419a609e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL mat< 4, 4, T, defaultp > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00179.html#gae6aa26ccb020d281b449619e419a609e">yawPitchRoll</a> (T const &yaw, T const &pitch, T const &roll)</td></tr>
|
||||
<tr class="memdesc:gae6aa26ccb020d281b449619e419a609e"><td class="mdescLeft"> </td><td class="mdescRight">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). <a href="a00179.html#gae6aa26ccb020d281b449619e419a609e">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae6aa26ccb020d281b449619e419a609e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00179.html">GLM_GTX_euler_angles</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00023_source.html">euler_angles.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
218
test/glm/doc/api/a00023_source.html
Normal file
218
test/glm/doc/api/a00023_source.html
Normal file
@@ -0,0 +1,218 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: euler_angles.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">euler_angles.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00023.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_euler_angles extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#gafba6282e4ed3ff8b5c75331abfba3489">eulerAngleX</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  T <span class="keyword">const</span>& angleX);</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#gab84bf4746805fd69b8ecbb230e3974c5">eulerAngleY</a>(</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  T <span class="keyword">const</span>& angleY);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga5b3935248bb6c3ec6b0d9297d406e251">eulerAngleZ</a>(</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  T <span class="keyword">const</span>& angleZ);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga64036577ee17a2d24be0dbc05881d4e2">eulerAngleXY</a>(</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  T <span class="keyword">const</span>& angleX,</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  T <span class="keyword">const</span>& angleY);</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d">eulerAngleYX</a>(</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  T <span class="keyword">const</span>& angleY,</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  T <span class="keyword">const</span>& angleX);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#gaa39bd323c65c2fc0a1508be33a237ce9">eulerAngleXZ</a>(</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  T <span class="keyword">const</span>& angleX,</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  T <span class="keyword">const</span>& angleZ);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga483903115cd4059228961046a28d69b5">eulerAngleZX</a>(</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#gaaee6c856cae3217d274a240238cb6373">angle</a>,</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  T <span class="keyword">const</span>& angleX);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga220379e10ac8cca55e275f0c9018fed9">eulerAngleYZ</a>(</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  T <span class="keyword">const</span>& angleY,</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  T <span class="keyword">const</span>& angleZ);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga400b2bd5984999efab663f3a68e1d020">eulerAngleZY</a>(</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  T <span class="keyword">const</span>& angleZ,</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  T <span class="keyword">const</span>& angleY);</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#ga1975e0f0e9bed7f716dc9946da2ab645">eulerAngleXYZ</a>(</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  T <span class="keyword">const</span>& t1,</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  T <span class="keyword">const</span>& t2,</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  T <span class="keyword">const</span>& t3);</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#gab8ba99a9814f6d9edf417b6c6d5b0c10">eulerAngleYXZ</a>(</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga53feffeb4001b99e36e216522e465e9e">yaw</a>,</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga9bd78e5fe153d07e39fb4c83e73dba73">pitch</a>,</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga3ff93afbd9cc29f2ad217f2228e8a95b">roll</a>);</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  GLM_FUNC_DECL mat<4, 4, T, defaultp> <a class="code" href="a00179.html#gae6aa26ccb020d281b449619e419a609e">yawPitchRoll</a>(</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga53feffeb4001b99e36e216522e465e9e">yaw</a>,</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga9bd78e5fe153d07e39fb4c83e73dba73">pitch</a>,</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  T <span class="keyword">const</span>& <a class="code" href="a00160.html#ga3ff93afbd9cc29f2ad217f2228e8a95b">roll</a>);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  GLM_FUNC_DECL mat<2, 2, T, defaultp> <a class="code" href="a00179.html#gae16738a9f1887cf4e4db6a124637608d">orientate2</a>(T <span class="keyword">const</span>& <a class="code" href="a00160.html#gaaee6c856cae3217d274a240238cb6373">angle</a>);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  GLM_FUNC_DECL mat<3, 3, T, defaultp> <a class="code" href="a00179.html#ga7238c8e15c7720e3ca6a45ab151eeabb">orientate3</a>(T <span class="keyword">const</span>& <a class="code" href="a00160.html#gaaee6c856cae3217d274a240238cb6373">angle</a>);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  GLM_FUNC_DECL mat<3, 3, T, Q> <a class="code" href="a00179.html#ga7238c8e15c7720e3ca6a45ab151eeabb">orientate3</a>(vec<3, T, Q> <span class="keyword">const</span>& angles);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  GLM_FUNC_DECL mat<4, 4, T, Q> <a class="code" href="a00179.html#ga4a044653f71a4ecec68e0b623382b48a">orientate4</a>(vec<3, T, Q> <span class="keyword">const</span>& angles);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  GLM_FUNC_DECL <span class="keywordtype">void</span> <a class="code" href="a00179.html#gacea701562f778c1da4d3a0a1cf091000">extractEulerAngleXYZ</a>(mat<4, 4, T, defaultp> <span class="keyword">const</span>& M,</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  T & t1,</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  T & t2,</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  T & t3);</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor">#include "euler_angles.inl"</span></div>
|
||||
<div class="ttc" id="a00179_html_gaa39bd323c65c2fc0a1508be33a237ce9"><div class="ttname"><a href="a00179.html#gaa39bd323c65c2fc0a1508be33a237ce9">glm::eulerAngleXZ</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_gae16738a9f1887cf4e4db6a124637608d"><div class="ttname"><a href="a00179.html#gae16738a9f1887cf4e4db6a124637608d">glm::orientate2</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2(T const &angle)</div><div class="ttdoc">Creates a 2D 2 * 2 rotation matrix from an euler angle. </div></div>
|
||||
<div class="ttc" id="a00179_html_ga7238c8e15c7720e3ca6a45ab151eeabb"><div class="ttname"><a href="a00179.html#ga7238c8e15c7720e3ca6a45ab151eeabb">glm::orientate3</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3(vec< 3, T, Q > const &angles)</div><div class="ttdoc">Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_ga64036577ee17a2d24be0dbc05881d4e2"><div class="ttname"><a href="a00179.html#ga64036577ee17a2d24be0dbc05881d4e2">glm::eulerAngleXY</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00179_html_ga4a044653f71a4ecec68e0b623382b48a"><div class="ttname"><a href="a00179.html#ga4a044653f71a4ecec68e0b623382b48a">glm::orientate4</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4(vec< 3, T, Q > const &angles)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_gafba6282e4ed3ff8b5c75331abfba3489"><div class="ttname"><a href="a00179.html#gafba6282e4ed3ff8b5c75331abfba3489">glm::eulerAngleX</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX(T const &angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. </div></div>
|
||||
<div class="ttc" id="a00179_html_ga220379e10ac8cca55e275f0c9018fed9"><div class="ttname"><a href="a00179.html#ga220379e10ac8cca55e275f0c9018fed9">glm::eulerAngleYZ</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_gab84bf4746805fd69b8ecbb230e3974c5"><div class="ttname"><a href="a00179.html#gab84bf4746805fd69b8ecbb230e3974c5">glm::eulerAngleY</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY(T const &angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. </div></div>
|
||||
<div class="ttc" id="a00179_html_ga5b3935248bb6c3ec6b0d9297d406e251"><div class="ttname"><a href="a00179.html#ga5b3935248bb6c3ec6b0d9297d406e251">glm::eulerAngleZ</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ(T const &angleZ)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. </div></div>
|
||||
<div class="ttc" id="a00179_html_gae6aa26ccb020d281b449619e419a609e"><div class="ttname"><a href="a00179.html#gae6aa26ccb020d281b449619e419a609e">glm::yawPitchRoll</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_gab8ba99a9814f6d9edf417b6c6d5b0c10"><div class="ttname"><a href="a00179.html#gab8ba99a9814f6d9edf417b6c6d5b0c10">glm::eulerAngleYXZ</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_gacea701562f778c1da4d3a0a1cf091000"><div class="ttname"><a href="a00179.html#gacea701562f778c1da4d3a0a1cf091000">glm::extractEulerAngleXYZ</a></div><div class="ttdeci">GLM_FUNC_DECL void extractEulerAngleXYZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)</div><div class="ttdoc">Extracts the (X * Y * Z) Euler angles from the rotation matrix M. </div></div>
|
||||
<div class="ttc" id="a00179_html_ga4f57e6dd25c3cffbbd4daa6ef3f4486d"><div class="ttname"><a href="a00179.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d">glm::eulerAngleYX</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). </div></div>
|
||||
<div class="ttc" id="a00160_html_gaaee6c856cae3217d274a240238cb6373"><div class="ttname"><a href="a00160.html#gaaee6c856cae3217d274a240238cb6373">glm::angle</a></div><div class="ttdeci">GLM_FUNC_DECL T angle(tquat< T, Q > const &x)</div><div class="ttdoc">Returns the quaternion rotation angle. </div></div>
|
||||
<div class="ttc" id="a00160_html_ga9bd78e5fe153d07e39fb4c83e73dba73"><div class="ttname"><a href="a00160.html#ga9bd78e5fe153d07e39fb4c83e73dba73">glm::pitch</a></div><div class="ttdeci">GLM_FUNC_DECL T pitch(tquat< T, Q > const &x)</div><div class="ttdoc">Returns pitch value of euler angles expressed in radians. </div></div>
|
||||
<div class="ttc" id="a00160_html_ga53feffeb4001b99e36e216522e465e9e"><div class="ttname"><a href="a00160.html#ga53feffeb4001b99e36e216522e465e9e">glm::yaw</a></div><div class="ttdeci">GLM_FUNC_DECL T yaw(tquat< T, Q > const &x)</div><div class="ttdoc">Returns yaw value of euler angles expressed in radians. </div></div>
|
||||
<div class="ttc" id="a00179_html_ga483903115cd4059228961046a28d69b5"><div class="ttname"><a href="a00179.html#ga483903115cd4059228961046a28d69b5">glm::eulerAngleZX</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX(T const &angle, T const &angleX)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). </div></div>
|
||||
<div class="ttc" id="a00179_html_ga1975e0f0e9bed7f716dc9946da2ab645"><div class="ttname"><a href="a00179.html#ga1975e0f0e9bed7f716dc9946da2ab645">glm::eulerAngleXYZ</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ(T const &t1, T const &t2, T const &t3)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). </div></div>
|
||||
<div class="ttc" id="a00179_html_ga400b2bd5984999efab663f3a68e1d020"><div class="ttname"><a href="a00179.html#ga400b2bd5984999efab663f3a68e1d020">glm::eulerAngleZY</a></div><div class="ttdeci">GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)</div><div class="ttdoc">Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). </div></div>
|
||||
<div class="ttc" id="a00160_html_ga3ff93afbd9cc29f2ad217f2228e8a95b"><div class="ttname"><a href="a00160.html#ga3ff93afbd9cc29f2ad217f2228e8a95b">glm::roll</a></div><div class="ttdeci">GLM_FUNC_DECL T roll(tquat< T, Q > const &x)</div><div class="ttdoc">Returns roll value of euler angles expressed in radians. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
143
test/glm/doc/api/a00024.html
Normal file
143
test/glm/doc/api/a00024.html
Normal file
@@ -0,0 +1,143 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: exponential.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">exponential.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00024_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga071566cadc7505455e611f2a0353f4d4"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga071566cadc7505455e611f2a0353f4d4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">exp</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga071566cadc7505455e611f2a0353f4d4"><td class="mdescLeft"> </td><td class="mdescRight">Returns the natural exponentiation of x, i.e., e^x. <a href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga071566cadc7505455e611f2a0353f4d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaff17ace6b579a03bf223ed4d1ed2cd16"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaff17ace6b579a03bf223ed4d1ed2cd16"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#gaff17ace6b579a03bf223ed4d1ed2cd16">exp2</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:gaff17ace6b579a03bf223ed4d1ed2cd16"><td class="mdescLeft"> </td><td class="mdescRight">Returns 2 raised to the v power. <a href="a00141.html#gaff17ace6b579a03bf223ed4d1ed2cd16">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaff17ace6b579a03bf223ed4d1ed2cd16"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga523dd6bd0ad9f75ae2d24c8e4b017b7a"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga523dd6bd0ad9f75ae2d24c8e4b017b7a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a">inversesqrt</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga523dd6bd0ad9f75ae2d24c8e4b017b7a"><td class="mdescLeft"> </td><td class="mdescRight">Returns the reciprocal of the positive square root of v. <a href="a00141.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga523dd6bd0ad9f75ae2d24c8e4b017b7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga918c9f3fd086ce20e6760c903bd30fa9"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga918c9f3fd086ce20e6760c903bd30fa9"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#ga918c9f3fd086ce20e6760c903bd30fa9">log</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga918c9f3fd086ce20e6760c903bd30fa9"><td class="mdescLeft"> </td><td class="mdescRight">Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y. <a href="a00141.html#ga918c9f3fd086ce20e6760c903bd30fa9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga918c9f3fd086ce20e6760c903bd30fa9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga82831c7d9cca777cebedfe03a19c8d75"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga82831c7d9cca777cebedfe03a19c8d75"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#ga82831c7d9cca777cebedfe03a19c8d75">log2</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:ga82831c7d9cca777cebedfe03a19c8d75"><td class="mdescLeft"> </td><td class="mdescRight">Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. <a href="a00141.html#ga82831c7d9cca777cebedfe03a19c8d75">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga82831c7d9cca777cebedfe03a19c8d75"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga2254981952d4f333b900a6bf5167a6c4"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga2254981952d4f333b900a6bf5167a6c4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#ga2254981952d4f333b900a6bf5167a6c4">pow</a> (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)</td></tr>
|
||||
<tr class="memdesc:ga2254981952d4f333b900a6bf5167a6c4"><td class="mdescLeft"> </td><td class="mdescRight">Returns 'base' raised to the power 'exponent'. <a href="a00141.html#ga2254981952d4f333b900a6bf5167a6c4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga2254981952d4f333b900a6bf5167a6c4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaa83e5f1648b7ccdf33b87c07c76cb77c"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gaa83e5f1648b7ccdf33b87c07c76cb77c"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00141.html#gaa83e5f1648b7ccdf33b87c07c76cb77c">sqrt</a> (vec< L, T, Q > const &v)</td></tr>
|
||||
<tr class="memdesc:gaa83e5f1648b7ccdf33b87c07c76cb77c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the positive square root of v. <a href="a00141.html#gaa83e5f1648b7ccdf33b87c07c76cb77c">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa83e5f1648b7ccdf33b87c07c76cb77c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.2 Exponential Functions</a> </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00024_source.html">exponential.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
147
test/glm/doc/api/a00024_source.html
Normal file
147
test/glm/doc/api/a00024_source.html
Normal file
@@ -0,0 +1,147 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: exponential.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">exponential.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00024.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="a00121.html">detail/type_vec1.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="a00122.html">detail/type_vec2.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="a00123.html">detail/type_vec3.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="a00124.html">detail/type_vec4.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <cmath></span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#ga2254981952d4f333b900a6bf5167a6c4">pow</a>(vec<L, T, Q> <span class="keyword">const</span>& base, vec<L, T, Q> <span class="keyword">const</span>& exponent);</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">exp</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#ga918c9f3fd086ce20e6760c903bd30fa9">log</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#gaff17ace6b579a03bf223ed4d1ed2cd16">exp2</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#ga82831c7d9cca777cebedfe03a19c8d75">log2</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#gaa83e5f1648b7ccdf33b87c07c76cb77c">sqrt</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">template</span><length_t L, <span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  GLM_FUNC_DECL vec<L, T, Q> <a class="code" href="a00141.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a">inversesqrt</a>(vec<L, T, Q> <span class="keyword">const</span>& v);</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> </div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#include "detail/func_exponential.inl"</span></div>
|
||||
<div class="ttc" id="a00124_html"><div class="ttname"><a href="a00124.html">type_vec4.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00122_html"><div class="ttname"><a href="a00122.html">type_vec2.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00123_html"><div class="ttname"><a href="a00123.html">type_vec3.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00121_html"><div class="ttname"><a href="a00121.html">type_vec1.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00141_html_ga82831c7d9cca777cebedfe03a19c8d75"><div class="ttname"><a href="a00141.html#ga82831c7d9cca777cebedfe03a19c8d75">glm::log2</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > log2(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...</div></div>
|
||||
<div class="ttc" id="a00141_html_ga071566cadc7505455e611f2a0353f4d4"><div class="ttname"><a href="a00141.html#ga071566cadc7505455e611f2a0353f4d4">glm::exp</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the natural exponentiation of x, i.e., e^x. </div></div>
|
||||
<div class="ttc" id="a00141_html_ga2254981952d4f333b900a6bf5167a6c4"><div class="ttname"><a href="a00141.html#ga2254981952d4f333b900a6bf5167a6c4">glm::pow</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > pow(vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)</div><div class="ttdoc">Returns 'base' raised to the power 'exponent'. </div></div>
|
||||
<div class="ttc" id="a00141_html_ga523dd6bd0ad9f75ae2d24c8e4b017b7a"><div class="ttname"><a href="a00141.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a">glm::inversesqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > inversesqrt(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the reciprocal of the positive square root of v. </div></div>
|
||||
<div class="ttc" id="a00141_html_gaa83e5f1648b7ccdf33b87c07c76cb77c"><div class="ttname"><a href="a00141.html#gaa83e5f1648b7ccdf33b87c07c76cb77c">glm::sqrt</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > sqrt(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the positive square root of v. </div></div>
|
||||
<div class="ttc" id="a00141_html_gaff17ace6b579a03bf223ed4d1ed2cd16"><div class="ttname"><a href="a00141.html#gaff17ace6b579a03bf223ed4d1ed2cd16">glm::exp2</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > exp2(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns 2 raised to the v power. </div></div>
|
||||
<div class="ttc" id="a00141_html_ga918c9f3fd086ce20e6760c903bd30fa9"><div class="ttname"><a href="a00141.html#ga918c9f3fd086ce20e6760c903bd30fa9">glm::log</a></div><div class="ttdeci">GLM_FUNC_DECL vec< L, T, Q > log(vec< L, T, Q > const &v)</div><div class="ttdoc">Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y...</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
108
test/glm/doc/api/a00025.html
Normal file
108
test/glm/doc/api/a00025.html
Normal file
@@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: ext.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">ext.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00143.html">Core features</a> (Dependence)
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00025_source.html">Go to the source code of this file.</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00143.html">Core features</a> (Dependence) </p>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00025_source.html">ext.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
267
test/glm/doc/api/a00025_source.html
Normal file
267
test/glm/doc/api/a00025_source.html
Normal file
@@ -0,0 +1,267 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: ext.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">ext.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00025.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#include "<a class="code" href="a00094.html">detail/setup.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include "<a class="code" href="a00035.html">glm.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)</span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor"># define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED</span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"># pragma message("GLM: All extensions included (not recommanded)")</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#endif//GLM_MESSAGES</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="a00009.html">./gtc/bitfield.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="a00012.html">./gtc/color_space.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="a00020.html">./gtc/constants.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="a00022.html">./gtc/epsilon.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="a00039.html">./gtc/integer.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="a00056.html">./gtc/matrix_access.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="a00060.html">./gtc/matrix_integer.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="a00062.html">./gtc/matrix_inverse.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="a00066.html">./gtc/matrix_transform.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="a00069.html">./gtc/noise.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="a00076.html">./gtc/packing.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="a00083.html">./gtc/quaternion.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include "<a class="code" href="a00085.html">./gtc/random.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="a00088.html">./gtc/reciprocal.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="a00091.html">./gtc/round.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//#include "./gtc/type_aligned.hpp"</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="a00117.html">./gtc/type_precision.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="a00118.html">./gtc/type_ptr.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="a00125.html">./gtc/ulp.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="a00126.html">./gtc/vec1.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#if GLM_HAS_ALIGNED_TYPE</span></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"># include "<a class="code" href="a00101.html">./gtc/type_aligned.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#ifdef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="a00007.html">./gtx/associated_min_max.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="a00008.html">./gtx/bit.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="a00010.html">./gtx/closest_point.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#include "<a class="code" href="a00011.html">./gtx/color_encoding.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include "<a class="code" href="a00013.html">./gtx/color_space.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include "<a class="code" href="a00014.html">./gtx/color_space_YCoCg.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include "<a class="code" href="a00017.html">./gtx/compatibility.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#include "<a class="code" href="a00018.html">./gtx/component_wise.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include "<a class="code" href="a00021.html">./gtx/dual_quaternion.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#include "<a class="code" href="a00023.html">./gtx/euler_angles.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#include "<a class="code" href="a00026.html">./gtx/extend.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor">#include "<a class="code" href="a00027.html">./gtx/extended_min_max.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#include "<a class="code" href="a00029.html">./gtx/fast_exponential.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#include "<a class="code" href="a00030.html">./gtx/fast_square_root.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor">#include "<a class="code" href="a00031.html">./gtx/fast_trigonometry.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#include "<a class="code" href="a00032.html">./gtx/functions.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor">#include "<a class="code" href="a00036.html">./gtx/gradient_paint.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="preprocessor">#include "<a class="code" href="a00037.html">./gtx/handed_coordinate_space.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="preprocessor">#include "<a class="code" href="a00040.html">./gtx/integer.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#include "<a class="code" href="a00042.html">./gtx/intersect.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#include "<a class="code" href="a00044.html">./gtx/log_base.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor">#include "<a class="code" href="a00057.html">./gtx/matrix_cross_product.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> <span class="preprocessor">#include "<a class="code" href="a00061.html">./gtx/matrix_interpolation.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor">#include "<a class="code" href="a00063.html">./gtx/matrix_major_storage.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor">#include "<a class="code" href="a00064.html">./gtx/matrix_operation.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor">#include "<a class="code" href="a00065.html">./gtx/matrix_query.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor">#include "<a class="code" href="a00068.html">./gtx/mixed_product.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor">#include "<a class="code" href="a00070.html">./gtx/norm.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor">#include "<a class="code" href="a00071.html">./gtx/normal.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor">#include "<a class="code" href="a00072.html">./gtx/normalize_dot.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor">#include "<a class="code" href="a00073.html">./gtx/number_precision.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor">#include "<a class="code" href="a00074.html">./gtx/optimum_pow.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor">#include "<a class="code" href="a00075.html">./gtx/orthonormalize.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor">#include "<a class="code" href="a00079.html">./gtx/perpendicular.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor">#include "<a class="code" href="a00080.html">./gtx/polar_coordinates.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor">#include "<a class="code" href="a00081.html">./gtx/projection.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#include "<a class="code" href="a00084.html">./gtx/quaternion.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#include "<a class="code" href="a00087.html">./gtx/raw_data.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#include "<a class="code" href="a00090.html">./gtx/rotate_vector.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#include "<a class="code" href="a00095.html">./gtx/spline.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#include "<a class="code" href="a00096.html">./gtx/std_based_type.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor">#if !(GLM_COMPILER & GLM_COMPILER_CUDA)</span></div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"># include "<a class="code" href="a00097.html">./gtx/string_cast.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor">#include "<a class="code" href="a00098.html">./gtx/transform.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor">#include "<a class="code" href="a00099.html">./gtx/transform2.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor">#include "<a class="code" href="a00130.html">./gtx/vec_swizzle.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor">#include "<a class="code" href="a00131.html">./gtx/vector_angle.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#include "<a class="code" href="a00132.html">./gtx/vector_query.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor">#include "<a class="code" href="a00134.html">./gtx/wrap.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor">#if GLM_HAS_TEMPLATE_ALIASES</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"># include "<a class="code" href="a00092.html">./gtx/scalar_multiplication.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#if GLM_HAS_RANGE_FOR</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"># include "<a class="code" href="a00086.html">./gtx/range.hpp</a>"</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#endif//GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="ttc" id="a00022_html"><div class="ttname"><a href="a00022.html">epsilon.hpp</a></div><div class="ttdoc">GLM_GTC_epsilon </div></div>
|
||||
<div class="ttc" id="a00010_html"><div class="ttname"><a href="a00010.html">closest_point.hpp</a></div><div class="ttdoc">GLM_GTX_closest_point </div></div>
|
||||
<div class="ttc" id="a00068_html"><div class="ttname"><a href="a00068.html">mixed_product.hpp</a></div><div class="ttdoc">GLM_GTX_mixed_producte </div></div>
|
||||
<div class="ttc" id="a00039_html"><div class="ttname"><a href="a00039.html">integer.hpp</a></div><div class="ttdoc">GLM_GTC_integer </div></div>
|
||||
<div class="ttc" id="a00091_html"><div class="ttname"><a href="a00091.html">round.hpp</a></div><div class="ttdoc">GLM_GTC_round </div></div>
|
||||
<div class="ttc" id="a00056_html"><div class="ttname"><a href="a00056.html">matrix_access.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_access </div></div>
|
||||
<div class="ttc" id="a00027_html"><div class="ttname"><a href="a00027.html">extended_min_max.hpp</a></div><div class="ttdoc">GLM_GTX_extented_min_max </div></div>
|
||||
<div class="ttc" id="a00044_html"><div class="ttname"><a href="a00044.html">log_base.hpp</a></div><div class="ttdoc">GLM_GTX_log_base </div></div>
|
||||
<div class="ttc" id="a00042_html"><div class="ttname"><a href="a00042.html">intersect.hpp</a></div><div class="ttdoc">GLM_GTX_intersect </div></div>
|
||||
<div class="ttc" id="a00030_html"><div class="ttname"><a href="a00030.html">fast_square_root.hpp</a></div><div class="ttdoc">GLM_GTX_fast_square_root </div></div>
|
||||
<div class="ttc" id="a00130_html"><div class="ttname"><a href="a00130.html">vec_swizzle.hpp</a></div><div class="ttdoc">GLM_GTX_vec_swizzle </div></div>
|
||||
<div class="ttc" id="a00088_html"><div class="ttname"><a href="a00088.html">reciprocal.hpp</a></div><div class="ttdoc">GLM_GTC_reciprocal </div></div>
|
||||
<div class="ttc" id="a00101_html"><div class="ttname"><a href="a00101.html">type_aligned.hpp</a></div><div class="ttdoc">GLM_GTC_type_aligned </div></div>
|
||||
<div class="ttc" id="a00076_html"><div class="ttname"><a href="a00076.html">packing.hpp</a></div><div class="ttdoc">GLM_GTC_packing </div></div>
|
||||
<div class="ttc" id="a00064_html"><div class="ttname"><a href="a00064.html">matrix_operation.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_operation </div></div>
|
||||
<div class="ttc" id="a00035_html"><div class="ttname"><a href="a00035.html">glm.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00062_html"><div class="ttname"><a href="a00062.html">matrix_inverse.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_inverse </div></div>
|
||||
<div class="ttc" id="a00023_html"><div class="ttname"><a href="a00023.html">euler_angles.hpp</a></div><div class="ttdoc">GLM_GTX_euler_angles </div></div>
|
||||
<div class="ttc" id="a00021_html"><div class="ttname"><a href="a00021.html">dual_quaternion.hpp</a></div><div class="ttdoc">GLM_GTX_dual_quaternion </div></div>
|
||||
<div class="ttc" id="a00079_html"><div class="ttname"><a href="a00079.html">perpendicular.hpp</a></div><div class="ttdoc">GLM_GTX_perpendicular </div></div>
|
||||
<div class="ttc" id="a00096_html"><div class="ttname"><a href="a00096.html">std_based_type.hpp</a></div><div class="ttdoc">GLM_GTX_std_based_type </div></div>
|
||||
<div class="ttc" id="a00084_html"><div class="ttname"><a href="a00084.html">quaternion.hpp</a></div><div class="ttdoc">GLM_GTX_quaternion </div></div>
|
||||
<div class="ttc" id="a00018_html"><div class="ttname"><a href="a00018.html">component_wise.hpp</a></div><div class="ttdoc">GLM_GTX_component_wise </div></div>
|
||||
<div class="ttc" id="a00118_html"><div class="ttname"><a href="a00118.html">type_ptr.hpp</a></div><div class="ttdoc">GLM_GTC_type_ptr </div></div>
|
||||
<div class="ttc" id="a00070_html"><div class="ttname"><a href="a00070.html">norm.hpp</a></div><div class="ttdoc">GLM_GTX_norm </div></div>
|
||||
<div class="ttc" id="a00099_html"><div class="ttname"><a href="a00099.html">transform2.hpp</a></div><div class="ttdoc">GLM_GTX_transform2 </div></div>
|
||||
<div class="ttc" id="a00087_html"><div class="ttname"><a href="a00087.html">raw_data.hpp</a></div><div class="ttdoc">GLM_GTX_raw_data </div></div>
|
||||
<div class="ttc" id="a00075_html"><div class="ttname"><a href="a00075.html">orthonormalize.hpp</a></div><div class="ttdoc">GLM_GTX_orthonormalize </div></div>
|
||||
<div class="ttc" id="a00063_html"><div class="ttname"><a href="a00063.html">matrix_major_storage.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_major_storage </div></div>
|
||||
<div class="ttc" id="a00009_html"><div class="ttname"><a href="a00009.html">bitfield.hpp</a></div><div class="ttdoc">GLM_GTC_bitfield </div></div>
|
||||
<div class="ttc" id="a00090_html"><div class="ttname"><a href="a00090.html">rotate_vector.hpp</a></div><div class="ttdoc">GLM_GTX_rotate_vector </div></div>
|
||||
<div class="ttc" id="a00061_html"><div class="ttname"><a href="a00061.html">matrix_interpolation.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_interpolation </div></div>
|
||||
<div class="ttc" id="a00026_html"><div class="ttname"><a href="a00026.html">extend.hpp</a></div><div class="ttdoc">GLM_GTX_extend </div></div>
|
||||
<div class="ttc" id="a00126_html"><div class="ttname"><a href="a00126.html">vec1.hpp</a></div><div class="ttdoc">GLM_GTC_vec1 </div></div>
|
||||
<div class="ttc" id="a00014_html"><div class="ttname"><a href="a00014.html">color_space_YCoCg.hpp</a></div><div class="ttdoc">GLM_GTX_color_space_YCoCg </div></div>
|
||||
<div class="ttc" id="a00012_html"><div class="ttname"><a href="a00012.html">color_space.hpp</a></div><div class="ttdoc">GLM_GTC_color_space </div></div>
|
||||
<div class="ttc" id="a00095_html"><div class="ttname"><a href="a00095.html">spline.hpp</a></div><div class="ttdoc">GLM_GTX_spline </div></div>
|
||||
<div class="ttc" id="a00083_html"><div class="ttname"><a href="a00083.html">quaternion.hpp</a></div><div class="ttdoc">GLM_GTC_quaternion </div></div>
|
||||
<div class="ttc" id="a00029_html"><div class="ttname"><a href="a00029.html">fast_exponential.hpp</a></div><div class="ttdoc">GLM_GTX_fast_exponential </div></div>
|
||||
<div class="ttc" id="a00081_html"><div class="ttname"><a href="a00081.html">projection.hpp</a></div><div class="ttdoc">GLM_GTX_projection </div></div>
|
||||
<div class="ttc" id="a00017_html"><div class="ttname"><a href="a00017.html">compatibility.hpp</a></div><div class="ttdoc">GLM_GTX_compatibility </div></div>
|
||||
<div class="ttc" id="a00117_html"><div class="ttname"><a href="a00117.html">type_precision.hpp</a></div><div class="ttdoc">GLM_GTC_type_precision </div></div>
|
||||
<div class="ttc" id="a00134_html"><div class="ttname"><a href="a00134.html">wrap.hpp</a></div><div class="ttdoc">GLM_GTX_wrap </div></div>
|
||||
<div class="ttc" id="a00032_html"><div class="ttname"><a href="a00032.html">functions.hpp</a></div><div class="ttdoc">GLM_GTX_functions </div></div>
|
||||
<div class="ttc" id="a00132_html"><div class="ttname"><a href="a00132.html">vector_query.hpp</a></div><div class="ttdoc">GLM_GTX_vector_query </div></div>
|
||||
<div class="ttc" id="a00020_html"><div class="ttname"><a href="a00020.html">constants.hpp</a></div><div class="ttdoc">GLM_GTC_constants </div></div>
|
||||
<div class="ttc" id="a00066_html"><div class="ttname"><a href="a00066.html">matrix_transform.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_transform </div></div>
|
||||
<div class="ttc" id="a00037_html"><div class="ttname"><a href="a00037.html">handed_coordinate_space.hpp</a></div><div class="ttdoc">GLM_GTX_handed_coordinate_space </div></div>
|
||||
<div class="ttc" id="a00125_html"><div class="ttname"><a href="a00125.html">ulp.hpp</a></div><div class="ttdoc">GLM_GTC_ulp </div></div>
|
||||
<div class="ttc" id="a00013_html"><div class="ttname"><a href="a00013.html">color_space.hpp</a></div><div class="ttdoc">GLM_GTX_color_space </div></div>
|
||||
<div class="ttc" id="a00040_html"><div class="ttname"><a href="a00040.html">integer.hpp</a></div><div class="ttdoc">GLM_GTX_integer </div></div>
|
||||
<div class="ttc" id="a00011_html"><div class="ttname"><a href="a00011.html">color_encoding.hpp</a></div><div class="ttdoc">GLM_GTX_color_encoding </div></div>
|
||||
<div class="ttc" id="a00098_html"><div class="ttname"><a href="a00098.html">transform.hpp</a></div><div class="ttdoc">GLM_GTX_transform </div></div>
|
||||
<div class="ttc" id="a00069_html"><div class="ttname"><a href="a00069.html">noise.hpp</a></div><div class="ttdoc">GLM_GTC_noise </div></div>
|
||||
<div class="ttc" id="a00086_html"><div class="ttname"><a href="a00086.html">range.hpp</a></div><div class="ttdoc">GLM_GTX_range </div></div>
|
||||
<div class="ttc" id="a00057_html"><div class="ttname"><a href="a00057.html">matrix_cross_product.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_cross_product </div></div>
|
||||
<div class="ttc" id="a00074_html"><div class="ttname"><a href="a00074.html">optimum_pow.hpp</a></div><div class="ttdoc">GLM_GTX_optimum_pow </div></div>
|
||||
<div class="ttc" id="a00072_html"><div class="ttname"><a href="a00072.html">normalize_dot.hpp</a></div><div class="ttdoc">GLM_GTX_normalize_dot </div></div>
|
||||
<div class="ttc" id="a00008_html"><div class="ttname"><a href="a00008.html">bit.hpp</a></div><div class="ttdoc">GLM_GTX_bit </div></div>
|
||||
<div class="ttc" id="a00060_html"><div class="ttname"><a href="a00060.html">matrix_integer.hpp</a></div><div class="ttdoc">GLM_GTC_matrix_integer </div></div>
|
||||
<div class="ttc" id="a00031_html"><div class="ttname"><a href="a00031.html">fast_trigonometry.hpp</a></div><div class="ttdoc">GLM_GTX_fast_trigonometry </div></div>
|
||||
<div class="ttc" id="a00131_html"><div class="ttname"><a href="a00131.html">vector_angle.hpp</a></div><div class="ttdoc">GLM_GTX_vector_angle </div></div>
|
||||
<div class="ttc" id="a00094_html"><div class="ttname"><a href="a00094.html">setup.hpp</a></div><div class="ttdoc">Core features </div></div>
|
||||
<div class="ttc" id="a00065_html"><div class="ttname"><a href="a00065.html">matrix_query.hpp</a></div><div class="ttdoc">GLM_GTX_matrix_query </div></div>
|
||||
<div class="ttc" id="a00092_html"><div class="ttname"><a href="a00092.html">scalar_multiplication.hpp</a></div><div class="ttdoc">Experimental extensions </div></div>
|
||||
<div class="ttc" id="a00080_html"><div class="ttname"><a href="a00080.html">polar_coordinates.hpp</a></div><div class="ttdoc">GLM_GTX_polar_coordinates </div></div>
|
||||
<div class="ttc" id="a00097_html"><div class="ttname"><a href="a00097.html">string_cast.hpp</a></div><div class="ttdoc">GLM_GTX_string_cast </div></div>
|
||||
<div class="ttc" id="a00085_html"><div class="ttname"><a href="a00085.html">random.hpp</a></div><div class="ttdoc">GLM_GTC_random </div></div>
|
||||
<div class="ttc" id="a00073_html"><div class="ttname"><a href="a00073.html">number_precision.hpp</a></div><div class="ttdoc">GLM_GTX_number_precision </div></div>
|
||||
<div class="ttc" id="a00071_html"><div class="ttname"><a href="a00071.html">normal.hpp</a></div><div class="ttdoc">GLM_GTX_normal </div></div>
|
||||
<div class="ttc" id="a00036_html"><div class="ttname"><a href="a00036.html">gradient_paint.hpp</a></div><div class="ttdoc">GLM_GTX_gradient_paint </div></div>
|
||||
<div class="ttc" id="a00007_html"><div class="ttname"><a href="a00007.html">associated_min_max.hpp</a></div><div class="ttdoc">GLM_GTX_associated_min_max </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
119
test/glm/doc/api/a00026.html
Normal file
119
test/glm/doc/api/a00026.html
Normal file
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: extend.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">extend.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00180.html">GLM_GTX_extend</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00026_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga8140caae613b0f847ab0d7175dc03a37"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga8140caae613b0f847ab0d7175dc03a37"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00180.html#ga8140caae613b0f847ab0d7175dc03a37">extend</a> (genType const &Origin, genType const &Source, typename genType::value_type const Length)</td></tr>
|
||||
<tr class="memdesc:ga8140caae613b0f847ab0d7175dc03a37"><td class="mdescLeft"> </td><td class="mdescRight">Extends of Length the Origin position using the (Source - Origin) direction. <a href="a00180.html#ga8140caae613b0f847ab0d7175dc03a37">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8140caae613b0f847ab0d7175dc03a37"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00180.html">GLM_GTX_extend</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00026_source.html">extend.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
127
test/glm/doc/api/a00026_source.html
Normal file
127
test/glm/doc/api/a00026_source.html
Normal file
@@ -0,0 +1,127 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: extend.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">extend.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00026.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_extend extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> genType> </div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL genType <a class="code" href="a00180.html#ga8140caae613b0f847ab0d7175dc03a37">extend</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  genType <span class="keyword">const</span>& Origin, </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  genType <span class="keyword">const</span>& Source, </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">typename</span> genType::value_type <span class="keyword">const</span> Length);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "extend.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00180_html_ga8140caae613b0f847ab0d7175dc03a37"><div class="ttname"><a href="a00180.html#ga8140caae613b0f847ab0d7175dc03a37">glm::extend</a></div><div class="ttdeci">GLM_FUNC_DECL genType extend(genType const &Origin, genType const &Source, typename genType::value_type const Length)</div><div class="ttdoc">Extends of Length the Origin position using the (Source - Origin) direction. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
163
test/glm/doc/api/a00027.html
Normal file
163
test/glm/doc/api/a00027.html
Normal file
@@ -0,0 +1,163 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: extended_min_max.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">extended_min_max.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00181.html">GLM_GTX_extented_min_max</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00027_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga04991ccb9865c4c4e58488cfb209ce69">max</a> (T const &x, T const &y, T const &z)</td></tr>
|
||||
<tr class="memdesc:ga04991ccb9865c4c4e58488cfb209ce69"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 3 inputs. <a href="a00181.html#ga04991ccb9865c4c4e58488cfb209ce69">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga04991ccb9865c4c4e58488cfb209ce69"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae1b7bbe5c91de4924835ea3e14530744"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:gae1b7bbe5c91de4924835ea3e14530744"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gae1b7bbe5c91de4924835ea3e14530744">max</a> (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)</td></tr>
|
||||
<tr class="memdesc:gae1b7bbe5c91de4924835ea3e14530744"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 3 inputs. <a href="a00181.html#gae1b7bbe5c91de4924835ea3e14530744">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae1b7bbe5c91de4924835ea3e14530744"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaf832e9d4ab4826b2dda2fda25935a3a4">max</a> (C< T > const &x, C< T > const &y, C< T > const &z)</td></tr>
|
||||
<tr class="memdesc:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 3 inputs. <a href="a00181.html#gaf832e9d4ab4826b2dda2fda25935a3a4">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaf832e9d4ab4826b2dda2fda25935a3a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga78e04a0cef1c4863fcae1a2130500d87">max</a> (T const &x, T const &y, T const &z, T const &w)</td></tr>
|
||||
<tr class="memdesc:ga78e04a0cef1c4863fcae1a2130500d87"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 4 inputs. <a href="a00181.html#ga78e04a0cef1c4863fcae1a2130500d87">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga78e04a0cef1c4863fcae1a2130500d87"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7cca8b53cfda402040494cdf40fbdf4a">max</a> (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)</td></tr>
|
||||
<tr class="memdesc:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 4 inputs. <a href="a00181.html#ga7cca8b53cfda402040494cdf40fbdf4a">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7cca8b53cfda402040494cdf40fbdf4a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a> (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)</td></tr>
|
||||
<tr class="memdesc:gaacffbc466c2d08c140b181e7fd8a4858"><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum component-wise values of 4 inputs. <a href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaacffbc466c2d08c140b181e7fd8a4858"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga713d3f9b3e76312c0d314e0c8611a6a6">min</a> (T const &x, T const &y, T const &z)</td></tr>
|
||||
<tr class="memdesc:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 3 inputs. <a href="a00181.html#ga713d3f9b3e76312c0d314e0c8611a6a6">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga713d3f9b3e76312c0d314e0c8611a6a6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga74d1a96e7cdbac40f6d35142d3bcbbd4">min</a> (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)</td></tr>
|
||||
<tr class="memdesc:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 3 inputs. <a href="a00181.html#ga74d1a96e7cdbac40f6d35142d3bcbbd4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga74d1a96e7cdbac40f6d35142d3bcbbd4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga42b5c3fc027fd3d9a50d2ccc9126d9f0">min</a> (C< T > const &x, C< T > const &y, C< T > const &z)</td></tr>
|
||||
<tr class="memdesc:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 3 inputs. <a href="a00181.html#ga42b5c3fc027fd3d9a50d2ccc9126d9f0">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga42b5c3fc027fd3d9a50d2ccc9126d9f0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga95466987024d03039607f09e69813d69"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga95466987024d03039607f09e69813d69"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga95466987024d03039607f09e69813d69">min</a> (T const &x, T const &y, T const &z, T const &w)</td></tr>
|
||||
<tr class="memdesc:ga95466987024d03039607f09e69813d69"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 4 inputs. <a href="a00181.html#ga95466987024d03039607f09e69813d69">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga95466987024d03039607f09e69813d69"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga4fe35dd31dd0c45693c9b60b830b8d47">min</a> (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)</td></tr>
|
||||
<tr class="memdesc:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 4 inputs. <a href="a00181.html#ga4fe35dd31dd0c45693c9b60b830b8d47">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4fe35dd31dd0c45693c9b60b830b8d47"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memTemplParams" colspan="2">template<typename T , template< typename > class C> </td></tr>
|
||||
<tr class="memitem:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL C< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a> (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)</td></tr>
|
||||
<tr class="memdesc:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="mdescLeft"> </td><td class="mdescRight">Return the minimum component-wise values of 4 inputs. <a href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7471ea4159eed8dd9ea4ac5d46c2fead"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00181.html">GLM_GTX_extented_min_max</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00027_source.html">extended_min_max.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
200
test/glm/doc/api/a00027_source.html
Normal file
200
test/glm/doc/api/a00027_source.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: extended_min_max.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">extended_min_max.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00027.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// Dependency:</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "../glm.hpp"</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifndef GLM_ENABLE_EXPERIMENTAL</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_extented_min_max extension included")</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  GLM_FUNC_DECL T <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  T <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  T <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  C<T> <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  C<T> <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  GLM_FUNC_DECL T <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  T <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  T <span class="keyword">const</span>& z, </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  T <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& z, </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">min</a>(</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  C<T> <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  C<T> <span class="keyword">const</span>& z,</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  C<T> <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  GLM_FUNC_DECL T <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  T <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  T <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  C<T> <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  C<T> <span class="keyword">const</span>& z);</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  GLM_FUNC_DECL T <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  T <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  T <span class="keyword">const</span>& z, </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  T <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& z, </div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">typename</span> C<T>::T <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">template</span><<span class="keyword">typename</span>> <span class="keyword">class </span>C></div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  GLM_FUNC_DECL C<T> <a class="code" href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">max</a>(</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  C<T> <span class="keyword">const</span>& x, </div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  C<T> <span class="keyword">const</span>& y, </div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  C<T> <span class="keyword">const</span>& z, </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  C<T> <span class="keyword">const</span>& w);</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> }<span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#include "extended_min_max.inl"</span></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
<div class="ttc" id="a00181_html_ga7471ea4159eed8dd9ea4ac5d46c2fead"><div class="ttname"><a href="a00181.html#ga7471ea4159eed8dd9ea4ac5d46c2fead">glm::min</a></div><div class="ttdeci">GLM_FUNC_DECL C< T > min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)</div><div class="ttdoc">Return the minimum component-wise values of 4 inputs. </div></div>
|
||||
<div class="ttc" id="a00181_html_gaacffbc466c2d08c140b181e7fd8a4858"><div class="ttname"><a href="a00181.html#gaacffbc466c2d08c140b181e7fd8a4858">glm::max</a></div><div class="ttdeci">GLM_FUNC_DECL C< T > max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)</div><div class="ttdoc">Return the maximum component-wise values of 4 inputs. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
121
test/glm/doc/api/a00028.html
Normal file
121
test/glm/doc/api/a00028.html
Normal file
@@ -0,0 +1,121 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: exterior_product.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">exterior_product.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00182.html">GLM_GTX_exterior_product</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00028_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gac36e72b934ea6a9dd313772d7e78fa93"><td class="memTemplParams" colspan="2">template<typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gac36e72b934ea6a9dd313772d7e78fa93"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00182.html#gac36e72b934ea6a9dd313772d7e78fa93">cross</a> (vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)</td></tr>
|
||||
<tr class="memdesc:gac36e72b934ea6a9dd313772d7e78fa93"><td class="mdescLeft"> </td><td class="mdescRight">Returns the cross product of x and y. <a href="a00182.html#gac36e72b934ea6a9dd313772d7e78fa93">More...</a><br /></td></tr>
|
||||
<tr class="separator:gac36e72b934ea6a9dd313772d7e78fa93"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00182.html">GLM_GTX_exterior_product</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
<a class="el" href="a00182.html" title="Include <glm/gtx/exterior_product.hpp> to use the features of this extension. ">GLM_GTX_exterior_product</a> (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00028_source.html">exterior_product.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
121
test/glm/doc/api/a00028_source.html
Normal file
121
test/glm/doc/api/a00028_source.html
Normal file
@@ -0,0 +1,121 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: exterior_product.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">exterior_product.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<a href="a00028.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// Dependencies</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "../detail/setup.hpp"</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "../detail/qualifier.hpp"</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"># pragma message("GLM: GLM_GTX_exterior_product extension included")</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span><a class="code" href="a00135.html">glm</a></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">template</span><<span class="keyword">typename</span> T, qualifier Q></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  GLM_FUNC_DECL T <a class="code" href="a00182.html#gac36e72b934ea6a9dd313772d7e78fa93">cross</a>(vec<2, T, Q> <span class="keyword">const</span>& v, vec<2, T, Q> <span class="keyword">const</span>& u);</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> } <span class="comment">//namespace glm</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "exterior_product.inl"</span></div>
|
||||
<div class="ttc" id="a00182_html_gac36e72b934ea6a9dd313772d7e78fa93"><div class="ttname"><a href="a00182.html#gac36e72b934ea6a9dd313772d7e78fa93">glm::cross</a></div><div class="ttdeci">GLM_FUNC_DECL T cross(vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)</div><div class="ttdoc">Returns the cross product of x and y. </div></div>
|
||||
<div class="ttc" id="a00135_html"><div class="ttname"><a href="a00135.html">glm</a></div><div class="ttdef"><b>Definition:</b> <a href="a00015_source.html#l00020">common.hpp:20</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
165
test/glm/doc/api/a00029.html
Normal file
165
test/glm/doc/api/a00029.html
Normal file
@@ -0,0 +1,165 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.10"/>
|
||||
<title>0.9.9 API documenation: fast_exponential.hpp File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">0.9.9 API documenation
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.10 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_934f46a345653ef2b3014a1b37a162c1.html">G:</a></li><li class="navelem"><a class="el" href="dir_98f7f9d41f9d3029bd68cf237526a774.html">Source</a></li><li class="navelem"><a class="el" href="dir_9344afb825aed5e2f5be1d2015dde43c.html">G-Truc</a></li><li class="navelem"><a class="el" href="dir_45973f864e07b2505003ae343b7c8af7.html">glm</a></li><li class="navelem"><a class="el" href="dir_304be5dfae1339a7705426c0b536faf2.html">glm</a></li><li class="navelem"><a class="el" href="dir_e8f3c1046ba4b357711397765359cd18.html">gtx</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">fast_exponential.hpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a class="el" href="a00183.html">GLM_GTX_fast_exponential</a>
|
||||
<a href="#details">More...</a></p>
|
||||
|
||||
<p><a href="a00029_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gaa3180ac8f96ab37ab96e0cacaf608e10">fastExp</a> (T x)</td></tr>
|
||||
<tr class="memdesc:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp function but less accurate. <a href="a00183.html#gaa3180ac8f96ab37ab96e0cacaf608e10">More...</a><br /></td></tr>
|
||||
<tr class="separator:gaa3180ac8f96ab37ab96e0cacaf608e10"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga3ba6153aec6bd74628f8b00530aa8d58"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga3ba6153aec6bd74628f8b00530aa8d58"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga3ba6153aec6bd74628f8b00530aa8d58">fastExp</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga3ba6153aec6bd74628f8b00530aa8d58"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp function but less accurate. <a href="a00183.html#ga3ba6153aec6bd74628f8b00530aa8d58">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga3ba6153aec6bd74628f8b00530aa8d58"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga0af50585955eb14c60bb286297fabab2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga0af50585955eb14c60bb286297fabab2">fastExp2</a> (T x)</td></tr>
|
||||
<tr class="memdesc:ga0af50585955eb14c60bb286297fabab2"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00183.html#ga0af50585955eb14c60bb286297fabab2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga0af50585955eb14c60bb286297fabab2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gacaaed8b67d20d244b7de217e7816c1b6"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:gacaaed8b67d20d244b7de217e7816c1b6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gacaaed8b67d20d244b7de217e7816c1b6">fastExp2</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:gacaaed8b67d20d244b7de217e7816c1b6"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00183.html#gacaaed8b67d20d244b7de217e7816c1b6">More...</a><br /></td></tr>
|
||||
<tr class="separator:gacaaed8b67d20d244b7de217e7816c1b6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#gae1bdc97b7f96a600e29c753f1cd4388a">fastLog</a> (T x)</td></tr>
|
||||
<tr class="memdesc:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log function but less accurate. <a href="a00183.html#gae1bdc97b7f96a600e29c753f1cd4388a">More...</a><br /></td></tr>
|
||||
<tr class="separator:gae1bdc97b7f96a600e29c753f1cd4388a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga937256993a7219e73f186bb348fe6be8"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga937256993a7219e73f186bb348fe6be8"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga937256993a7219e73f186bb348fe6be8">fastLog</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga937256993a7219e73f186bb348fe6be8"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common exp2 function but less accurate. <a href="a00183.html#ga937256993a7219e73f186bb348fe6be8">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga937256993a7219e73f186bb348fe6be8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL T </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga6e98118685f6dc9e05fbb13dd5e5234e">fastLog2</a> (T x)</td></tr>
|
||||
<tr class="memdesc:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log2 function but less accurate. <a href="a00183.html#ga6e98118685f6dc9e05fbb13dd5e5234e">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga6e98118685f6dc9e05fbb13dd5e5234e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7562043539194ccc24649f8475bc5584"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga7562043539194ccc24649f8475bc5584"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga7562043539194ccc24649f8475bc5584">fastLog2</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga7562043539194ccc24649f8475bc5584"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common log2 function but less accurate. <a href="a00183.html#ga7562043539194ccc24649f8475bc5584">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7562043539194ccc24649f8475bc5584"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplParams" colspan="2">template<typename genType > </td></tr>
|
||||
<tr class="memitem:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genType </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga5340e98a11fcbbd936ba6e983a154d50">fastPow</a> (genType x, genType y)</td></tr>
|
||||
<tr class="memdesc:ga5340e98a11fcbbd936ba6e983a154d50"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00183.html#ga5340e98a11fcbbd936ba6e983a154d50">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga5340e98a11fcbbd936ba6e983a154d50"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga15325a8ed2d1c4ed2412c4b3b3927aa2"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga15325a8ed2d1c4ed2412c4b3b3927aa2"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga15325a8ed2d1c4ed2412c4b3b3927aa2">fastPow</a> (vec< L, T, Q > const &x, vec< L, T, Q > const &y)</td></tr>
|
||||
<tr class="memdesc:ga15325a8ed2d1c4ed2412c4b3b3927aa2"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00183.html#ga15325a8ed2d1c4ed2412c4b3b3927aa2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga15325a8ed2d1c4ed2412c4b3b3927aa2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplParams" colspan="2">template<typename genTypeT , typename genTypeU > </td></tr>
|
||||
<tr class="memitem:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL genTypeT </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga7f2562db9c3e02ae76169c36b086c3f6">fastPow</a> (genTypeT x, genTypeU y)</td></tr>
|
||||
<tr class="memdesc:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00183.html#ga7f2562db9c3e02ae76169c36b086c3f6">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7f2562db9c3e02ae76169c36b086c3f6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga1abe488c0829da5b9de70ac64aeaa7e5"><td class="memTemplParams" colspan="2">template<length_t L, typename T , qualifier Q> </td></tr>
|
||||
<tr class="memitem:ga1abe488c0829da5b9de70ac64aeaa7e5"><td class="memTemplItemLeft" align="right" valign="top">GLM_FUNC_DECL vec< L, T, Q > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00183.html#ga1abe488c0829da5b9de70ac64aeaa7e5">fastPow</a> (vec< L, T, Q > const &x)</td></tr>
|
||||
<tr class="memdesc:ga1abe488c0829da5b9de70ac64aeaa7e5"><td class="mdescLeft"> </td><td class="mdescRight">Faster than the common pow function but less accurate. <a href="a00183.html#ga1abe488c0829da5b9de70ac64aeaa7e5">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga1abe488c0829da5b9de70ac64aeaa7e5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a class="el" href="a00183.html">GLM_GTX_fast_exponential</a> </p>
|
||||
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a00143.html" title="Features that implement in C++ the GLSL specification as closely as possible. ">Core features</a> (dependence) </dd>
|
||||
<dd>
|
||||
gtx_half_float (dependence) </dd></dl>
|
||||
|
||||
<p>Definition in file <a class="el" href="a00029_source.html">fast_exponential.hpp</a>.</p>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.10
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user