Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
graphene-vec4.h
Go to the documentation of this file.
1/* graphene-vec4.h: 4-coords vector
2 *
3 * Copyright 2014 Emmanuele Bassi
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy
6 * of this software and associated documentation files (the "Software"), to deal
7 * in the Software without restriction, including without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 * copies of the Software, and to permit persons to whom the Software is
10 * furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 * THE SOFTWARE.
22 */
23
24#pragma once
25
26#if !defined(GRAPHENE_H_INSIDE) && !defined(GRAPHENE_COMPILATION)
27#error "Only graphene.h can be included directly."
28#endif
29
30#include "graphene-types.h"
31
33
34/**
35 * graphene_vec4_t:
36 *
37 * A structure capable of holding a vector with four dimensions: x, y, z, and w.
38 *
39 * The contents of the #graphene_vec4_t structure are private and should
40 * never be accessed directly.
41 */
47
54 float x,
55 float y,
56 float z,
57 float w);
60 const graphene_vec4_t *src);
63 const graphene_vec3_t *src,
64 float w);
67 const graphene_vec2_t *src,
68 float z,
69 float w);
72 const float *src);
75 float *dest);
78 const graphene_vec4_t *b,
79 graphene_vec4_t *res);
82 const graphene_vec4_t *b,
83 graphene_vec4_t *res);
86 const graphene_vec4_t *b,
87 graphene_vec4_t *res);
90 const graphene_vec4_t *b,
91 graphene_vec4_t *res);
94 const graphene_vec4_t *b);
99 graphene_vec4_t *res);
102 float factor,
103 graphene_vec4_t *res);
106 graphene_vec4_t *res);
109 const graphene_vec4_t *v2);
112 const graphene_vec4_t *v2,
113 float epsilon);
114
117 const graphene_vec4_t *b,
118 graphene_vec4_t *res);
121 const graphene_vec4_t *b,
122 graphene_vec4_t *res);
125 const graphene_vec4_t *v2,
126 double factor,
127 graphene_vec4_t *res);
128
137
140 graphene_vec2_t *res);
143 graphene_vec3_t *res);
144
157
#define GRAPHENE_END_DECLS
#define GRAPHENE_BEGIN_DECLS
#define GRAPHENE_PRIVATE_FIELD(type, name)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_get_xy(const graphene_vec4_t *v, graphene_vec2_t *res)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_vec4_scale(const graphene_vec4_t *v, float factor, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_get_w(const graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_min(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_init_from_vec4(graphene_vec4_t *v, const graphene_vec4_t *src)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_init(graphene_vec4_t *v, float x, float y, float z, float w)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_init_from_float(graphene_vec4_t *v, const float *src)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_get_x(const graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_10 void graphene_vec4_interpolate(const graphene_vec4_t *v1, const graphene_vec4_t *v2, double factor, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_zero(void)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_init_from_vec2(graphene_vec4_t *v, const graphene_vec2_t *src, float z, float w)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_get_y(const graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_subtract(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_to_float(const graphene_vec4_t *v, float *dest)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_one(void)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_divide(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_alloc(void)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_normalize(const graphene_vec4_t *v, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_get_xyz(const graphene_vec4_t *v, graphene_vec3_t *res)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_get_z(const graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_length(const graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_x_axis(void)
GRAPHENE_AVAILABLE_IN_1_2 bool graphene_vec4_near(const graphene_vec4_t *v1, const graphene_vec4_t *v2, float epsilon)
GRAPHENE_AVAILABLE_IN_1_2 void graphene_vec4_negate(const graphene_vec4_t *v, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_multiply(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_max(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_free(graphene_vec4_t *v)
GRAPHENE_AVAILABLE_IN_1_0 graphene_vec4_t * graphene_vec4_init_from_vec3(graphene_vec4_t *v, const graphene_vec3_t *src, float w)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_z_axis(void)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_w_axis(void)
GRAPHENE_AVAILABLE_IN_1_0 const graphene_vec4_t * graphene_vec4_y_axis(void)
GRAPHENE_AVAILABLE_IN_1_2 bool graphene_vec4_equal(const graphene_vec4_t *v1, const graphene_vec4_t *v2)
GRAPHENE_AVAILABLE_IN_1_0 void graphene_vec4_add(const graphene_vec4_t *a, const graphene_vec4_t *b, graphene_vec4_t *res)
GRAPHENE_AVAILABLE_IN_1_0 float graphene_vec4_dot(const graphene_vec4_t *a, const graphene_vec4_t *b)
#define GRAPHENE_AVAILABLE_IN_1_2
#define GRAPHENE_AVAILABLE_IN_1_10
#define GRAPHENE_AVAILABLE_IN_1_0
int value
Definition lsqlite3.c:2155
GRAPHENE_ALIGNED_DECL(GRAPHENE_PRIVATE_FIELD(graphene_simd4f_t, value), 16)