#include <cassert>
#include <string>
#include <vector>
#include <cmath>
#include <iomanip>
#include <limits>
Go to the source code of this file.
Data Structures | |
struct | helios::int2 |
Vector of two elements of type 'int'. More... | |
struct | helios::int3 |
Vector of three elements of type 'int'. More... | |
struct | helios::int4 |
Vector of four elements of type 'int'. More... | |
struct | helios::uint2 |
Vector of two elements of type 'unsigned int'. More... | |
struct | helios::uint3 |
Vector of three elements of type 'unsigned int'. More... | |
struct | helios::uint4 |
Vector of four elements of type 'unsigned int'. More... | |
struct | helios::vec2 |
Vector of two elements of type 'float'. More... | |
struct | helios::vec3 |
Vector of three elements of type 'float'. More... | |
struct | helios::vec4 |
Vector of four elements of type 'float'. More... | |
struct | helios::RGBcolor |
R-G-B color vector. More... | |
struct | helios::RGBAcolor |
R-G-B-A color vector. More... | |
struct | helios::Date |
Date vector. More... | |
struct | helios::Time |
Time vector. More... | |
struct | helios::Location |
Location vector. More... | |
struct | helios::SphericalCoord |
Vector of spherical coordinates (elevation,azimuth) More... | |
Macros | |
#define | M_PI 3.14159265358979323846 |
Typedefs | |
typedef unsigned int | uint |
Functions | |
constexpr int2 | helios::make_int2 (int x, int y) |
Make an int2 vector from two ints. | |
int2 | helios::make_int2 (int X[2]) |
Make an int2 vector from an array of ints. | |
constexpr int3 | helios::make_int3 (int X, int Y, int Z) |
Make an int3 vector from three ints. | |
constexpr int3 | helios::make_int3 (int X[3]) |
Make an int2 vector from an array of ints. | |
constexpr int4 | helios::make_int4 (int x, int y, int z, int w) |
Make an int4 vector from three ints. | |
constexpr int4 | helios::make_int4 (const int X[4]) |
Make an int4 vector from an array of ints. | |
constexpr uint2 | helios::make_uint2 (unsigned int x, unsigned int y) |
Make a uint2 vector from two unsigned ints. | |
constexpr uint2 | helios::make_uint2 (unsigned int X[2]) |
Make a uint2 vector from an array of unsigned ints. | |
constexpr uint3 | helios::make_uint3 (unsigned int X, unsigned int Y, unsigned int Z) |
Make a uint3 vector from three unsigned ints. | |
constexpr uint3 | helios::make_uint3 (unsigned int X[3]) |
Make a uint3 vector from an array of unsigned ints. | |
constexpr uint4 | helios::make_uint4 (unsigned int x, unsigned int y, unsigned int z, unsigned int w) |
Make a uint4 vector from four unsigned ints. | |
constexpr uint4 | helios::make_uint4 (const unsigned int X[4]) |
Make a uint4 vector from an array of unsigned ints. | |
constexpr vec2 | helios::operator* (float a, const vec2 &v) noexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec2) | |
constexpr vec2 | helios::operator+ (float a, const vec2 &v) noexcept |
Add a scalar to each element (scalar is added on left: a+vec2) | |
constexpr vec2 | helios::operator- (float a, const vec2 &v) noexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec2) | |
constexpr vec2 | helios::make_vec2 (float x, float y) |
Make a vec2 from two floats. | |
vec2 | helios::normalize (const vec2 &v) |
constexpr vec3 | helios::operator* (float a, const vec3 &v) noexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec3) | |
constexpr vec3 | helios::operator+ (float a, const vec3 &v) noexcept |
Add a scalar to each element (scalar is added on left: a+vec3) | |
constexpr vec3 | helios::operator- (float a, const vec3 &v) noexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec3) | |
constexpr vec3 | helios::make_vec3 (float x, float y, float z) |
Make a vec3 from three floats. | |
constexpr vec3 | helios::make_vec3 (float X[3]) |
Make a vec3 from an array of floats. | |
constexpr vec3 | helios::cross (const vec3 &a, const vec3 &b) |
Cross product of two vec3 vectors. | |
vec3 | helios::normalize (const vec3 &v) noexcept |
constexpr vec4 | helios::operator* (float a, const vec4 &v) noexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec4) | |
constexpr vec4 | helios::operator+ (float a, const vec4 &v) noexcept |
Add a scalar to each element (scalar is added on left: a+vec4) | |
constexpr vec4 | helios::operator- (float a, const vec4 &v) noexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec4) | |
constexpr vec4 | helios::make_vec4 (float x, float y, float z, float w) |
Make a vec4 from three floats. | |
constexpr vec4 | helios::make_vec4 (float X[4]) |
Make a vec4 from an array of floats. | |
vec4 | helios::normalize (const vec4 &v) |
RGBcolor | helios::make_RGBcolor (float red, float green, float blue) |
Make an RGBcolor vector. | |
RGBcolor | helios::blend (const RGBcolor &color0, const RGBcolor &color1, float weight) |
Blend two RGB colors together. | |
RGBAcolor | helios::make_RGBAcolor (float r, float g, float b, float a) |
Make an RGBAcolor vector. | |
RGBAcolor | helios::make_RGBAcolor (RGBcolor color, float a) |
Make an RGBAcolor vector (add alpha channel to RGBcolor) | |
RGBAcolor | helios::blend (const RGBAcolor &color0, const RGBAcolor &color1, float weight) |
Blend two RGBA colors together. | |
Date | helios::make_Date (int day, int month, int year) |
Make a Date vector. | |
Date | helios::Julian2Calendar (int JulianDay, int year) |
Convert a Julian day to a calendar Date vector. | |
int | helios::Calendar2Julian (Date date) |
Convert a calendar Date vector to Julian day. | |
Date | helios::make_Date (int JulianDay, int year) |
Make a Date vector. | |
Time | helios::make_Time (int hour, int minute) |
Make a Time vector. | |
Time | helios::make_Time (int hour, int minute, int second) |
Make a Time vector. | |
Location | helios::make_Location (float latitude_deg, float longitude_deg, float UTC_offset) |
Make a Location vector. | |
SphericalCoord | helios::make_SphericalCoord (float elevation_radians, float azimuth_radians) |
Make a SphericalCoord by specifying elevation and azimuth. | |
SphericalCoord | helios::make_SphericalCoord (float radius, float elevation_radians, float azimuth_radians) |
Make a SphericalCoord by specifying radius, elevation, and azimuth. | |
Declarations for vector types
Copyright (C) 2016-2025 Brian Bailey
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Definition in file helios_vector_types.h.
#define M_PI 3.14159265358979323846 |
Definition at line 20 of file helios_vector_types.h.
typedef unsigned int uint |
Definition at line 23 of file helios_vector_types.h.
Blend two RGBA colors together.
[in] | color0 | First color to blend |
[in] | color1 | Second color to blend |
[in] | weight | Weighting to apply to each color during blending. E.g., weight=0 will produce color0, weight=0.5 will be an average of color0 and color1, weight=1 will produce color1. |
[in] | color0 | First color to be blended. |
[in] | color1 | Second color to be blended. |
[in] | weight | Weighting factor (0<weight<1). A weight of 0 returns color0, weight of 1 returns color1. |
Definition at line 93 of file global.cpp.
Blend two RGB colors together.
[in] | color0 | First color to blend |
[in] | color1 | Second color to blend |
[in] | weight | Weighting to apply to each color during blending. E.g., weight=0 will produce color0, weight=0.5 will be an average of color0 and color1, weight=1 will produce color1. |
[in] | color0 | First color to be blended. |
[in] | color1 | Second color to be blended. |
[in] | weight | Weighting factor (0<weight<1). A weight of 0 returns color0, weight of 1 returns color1. |
Definition at line 84 of file global.cpp.
Cross product of two vec3 vectors.
Definition at line 987 of file helios_vector_types.h.
|
constexpr |
Make an int3 vector from three ints.
Definition at line 200 of file helios_vector_types.h.
|
constexpr |
Make an int2 vector from an array of ints.
Definition at line 205 of file helios_vector_types.h.
|
constexpr |
Make an int4 vector from an array of ints.
Definition at line 308 of file helios_vector_types.h.
|
constexpr |
Make an int4 vector from three ints.
Definition at line 303 of file helios_vector_types.h.
|
inline |
Make a SphericalCoord by specifying elevation and azimuth.
[in] | elevation_radians | Elevation angle (radians) |
[in] | azimuth_radians | Azimuthal angle (radians) |
Definition at line 2064 of file helios_vector_types.h.
|
inline |
Make a SphericalCoord by specifying radius, elevation, and azimuth.
[in] | radius | Radius |
[in] | elevation_radians | Elevation angle (radians) |
[in] | azimuth_radians | Azimuthal angle (radians) |
Definition at line 2074 of file helios_vector_types.h.
|
constexpr |
Make a vec3 from three floats.
Definition at line 977 of file helios_vector_types.h.
|
constexpr |
Make a vec3 from an array of floats.
Definition at line 982 of file helios_vector_types.h.
|
constexpr |
Make a vec4 from three floats.
Definition at line 1183 of file helios_vector_types.h.
|
constexpr |
Make a vec4 from an array of floats.
Definition at line 1188 of file helios_vector_types.h.
|
inline |
Definition at line 794 of file helios_vector_types.h.
|
inlinenoexcept |
Definition at line 991 of file helios_vector_types.h.
|
inline |
Definition at line 1192 of file helios_vector_types.h.
|
constexprnoexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec2)
Definition at line 856 of file helios_vector_types.h.
|
constexprnoexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec3)
Definition at line 1057 of file helios_vector_types.h.
|
constexprnoexcept |
Multiply each element by scalar (scalar is multiplied on left: a*vec4)
Definition at line 1262 of file helios_vector_types.h.
|
constexprnoexcept |
Add a scalar to each element (scalar is added on left: a+vec2)
Definition at line 836 of file helios_vector_types.h.
|
constexprnoexcept |
Add a scalar to each element (scalar is added on left: a+vec3)
Definition at line 1037 of file helios_vector_types.h.
|
constexprnoexcept |
Add a scalar to each element (scalar is added on left: a+vec4)
Definition at line 1242 of file helios_vector_types.h.
|
constexprnoexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec2)
Definition at line 848 of file helios_vector_types.h.
|
constexprnoexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec3)
Definition at line 1049 of file helios_vector_types.h.
|
constexprnoexcept |
Subtract a scalar from each element (scalar is subtracted on left: a-vec4)
Definition at line 1254 of file helios_vector_types.h.