diff --git a/basic-geometry/basic-geometry.cbp b/basic-geometry/basic-geometry.cbp
index cab3b51..1bc6f94 100644
--- a/basic-geometry/basic-geometry.cbp
+++ b/basic-geometry/basic-geometry.cbp
@@ -72,14 +72,6 @@
-
-
-
-
-
-
-
-
diff --git a/basic-geometry/basic-geometry.vcxproj b/basic-geometry/basic-geometry.vcxproj
index 01be767..e4b068a 100644
--- a/basic-geometry/basic-geometry.vcxproj
+++ b/basic-geometry/basic-geometry.vcxproj
@@ -27,8 +27,6 @@
-
-
@@ -52,8 +50,6 @@
-
-
diff --git a/basic-geometry/basic-geometry.vcxproj.filters b/basic-geometry/basic-geometry.vcxproj.filters
index f25fcbd..34d3f1d 100644
--- a/basic-geometry/basic-geometry.vcxproj.filters
+++ b/basic-geometry/basic-geometry.vcxproj.filters
@@ -54,9 +54,6 @@
Исходные файлы
-
- Файлы заголовков
-
Файлы заголовков
@@ -69,27 +66,24 @@
Файлы заголовков
-
- Файлы заголовков
-
-
- Файлы заголовков
-
Файлы заголовков
Файлы заголовков
-
- Файлы заголовков
-
Файлы заголовков
Файлы заголовков
+
+ Файлы заголовков
+
+
+ Файлы заголовков
+
@@ -119,9 +113,6 @@
Исходные файлы
-
- Исходные файлы
-
Исходные файлы
@@ -134,26 +125,23 @@
Исходные файлы
-
- Исходные файлы
-
-
- Исходные файлы
-
Исходные файлы
Исходные файлы
-
- Исходные файлы
-
Исходные файлы
Исходные файлы
+
+ Исходные файлы
+
+
+ Исходные файлы
+
\ No newline at end of file
diff --git a/basic-geometry/hmg-matrix3x3.c b/basic-geometry/hmg-matrix3x3.c
deleted file mode 100644
index 8ce329e..0000000
--- a/basic-geometry/hmg-matrix3x3.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "./hmg-matrix3x3.h"
-
-inline void bgc_fp32_hg_matrix3x3_reset(BGC_FP32_HmgMatrix3x3* homogeneous_matrix);
-inline void bgc_fp64_hg_matrix3x3_reset(BGC_FP64_HmgMatrix3x3* homogeneous_matrix);
-
-inline void bgc_fp32_hg_matrix3x3_make(BGC_FP32_HmgMatrix3x3* homogeneous_matrix, const BGC_FP32_Matrix3x3* linear_matrix, const BGC_FP32_Vector3* shift);
-inline void bgc_fp64_hg_matrix3x3_make(BGC_FP64_HmgMatrix3x3* homogeneous_matrix, const BGC_FP64_Matrix3x3* linear_matrix, const BGC_FP64_Vector3* shift);
diff --git a/basic-geometry/hmg-matrix3x3.h b/basic-geometry/hmg-matrix3x3.h
deleted file mode 100644
index 05cdc7b..0000000
--- a/basic-geometry/hmg-matrix3x3.h
+++ /dev/null
@@ -1,104 +0,0 @@
-#ifndef _BGC_HG_MATRIX3X3_H_INCLUDED_
-#define _BGC_HG_MATRIX3X3_H_INCLUDED_
-
-#include "./types.h"
-#include "./hmg-vector3.h"
-
-// =================== Reset ==================== //
-
-inline void bgc_fp32_hg_matrix3x3_reset(BGC_FP32_HmgMatrix3x3* homogeneous_matrix)
-{
- homogeneous_matrix->r1c1 = 1.0f;
- homogeneous_matrix->r1c2 = 0.0f;
- homogeneous_matrix->r1c2 = 0.0f;
- homogeneous_matrix->r1d0 = 0.0f;
-
- homogeneous_matrix->r2c1 = 0.0f;
- homogeneous_matrix->r2c2 = 1.0f;
- homogeneous_matrix->r2c2 = 0.0f;
- homogeneous_matrix->r2d0 = 0.0f;
-
- homogeneous_matrix->r3c1 = 0.0f;
- homogeneous_matrix->r3c2 = 0.0f;
- homogeneous_matrix->r3c2 = 1.0f;
- homogeneous_matrix->r3d0 = 0.0f;
-
- homogeneous_matrix->d0c1 = 0.0f;
- homogeneous_matrix->d0c2 = 0.0f;
- homogeneous_matrix->d0c2 = 0.0f;
- homogeneous_matrix->d0d0 = 1.0f;
-}
-
-inline void bgc_fp64_hg_matrix3x3_reset(BGC_FP64_HmgMatrix3x3* homogeneous_matrix)
-{
- homogeneous_matrix->r1c1 = 1.0;
- homogeneous_matrix->r1c2 = 0.0;
- homogeneous_matrix->r1c2 = 0.0;
- homogeneous_matrix->r1d0 = 0.0;
-
- homogeneous_matrix->r2c1 = 0.0;
- homogeneous_matrix->r2c2 = 1.0;
- homogeneous_matrix->r2c2 = 0.0;
- homogeneous_matrix->r2d0 = 0.0;
-
- homogeneous_matrix->r3c1 = 0.0;
- homogeneous_matrix->r3c2 = 0.0;
- homogeneous_matrix->r3c2 = 1.0;
- homogeneous_matrix->r3d0 = 0.0;
-
- homogeneous_matrix->d0c1 = 0.0;
- homogeneous_matrix->d0c2 = 0.0;
- homogeneous_matrix->d0c2 = 0.0;
- homogeneous_matrix->d0d0 = 1.0;
-}
-
-// ==================== Make ==================== //
-// ==================== Make ==================== //
-
-inline void bgc_fp32_hg_matrix3x3_make(BGC_FP32_HmgMatrix3x3* homogeneous_matrix, const BGC_FP32_Matrix3x3* linear_matrix, const BGC_FP32_Vector3* shift)
-{
- homogeneous_matrix->r1c1 = linear_matrix->r1c1;
- homogeneous_matrix->r1c2 = linear_matrix->r1c2;
- homogeneous_matrix->r1c2 = linear_matrix->r1c3;
- homogeneous_matrix->r1d0 = shift->x1;
-
- homogeneous_matrix->r2c1 = linear_matrix->r2c1;
- homogeneous_matrix->r2c2 = linear_matrix->r2c2;
- homogeneous_matrix->r2c2 = linear_matrix->r2c3;
- homogeneous_matrix->r2d0 = shift->x2;
-
- homogeneous_matrix->r3c1 = linear_matrix->r3c1;
- homogeneous_matrix->r3c2 = linear_matrix->r3c2;
- homogeneous_matrix->r3c2 = linear_matrix->r3c3;
- homogeneous_matrix->r3d0 = shift->x3;
-
- homogeneous_matrix->d0c1 = 0.0f;
- homogeneous_matrix->d0c2 = 0.0f;
- homogeneous_matrix->d0c2 = 0.0f;
- homogeneous_matrix->d0d0 = 1.0f;
-}
-
-inline void bgc_fp64_hg_matrix3x3_make(BGC_FP64_HmgMatrix3x3* homogeneous_matrix, const BGC_FP64_Matrix3x3* linear_matrix, const BGC_FP64_Vector3* shift)
-{
- homogeneous_matrix->r1c1 = linear_matrix->r1c1;
- homogeneous_matrix->r1c2 = linear_matrix->r1c2;
- homogeneous_matrix->r1c2 = linear_matrix->r1c3;
- homogeneous_matrix->r1d0 = shift->x1;
-
- homogeneous_matrix->r2c1 = linear_matrix->r2c1;
- homogeneous_matrix->r2c2 = linear_matrix->r2c2;
- homogeneous_matrix->r2c2 = linear_matrix->r2c3;
- homogeneous_matrix->r2d0 = shift->x2;
-
- homogeneous_matrix->r3c1 = linear_matrix->r3c1;
- homogeneous_matrix->r3c2 = linear_matrix->r3c2;
- homogeneous_matrix->r3c2 = linear_matrix->r3c3;
- homogeneous_matrix->r3d0 = shift->x3;
-
- homogeneous_matrix->d0c1 = 0.0;
- homogeneous_matrix->d0c2 = 0.0;
- homogeneous_matrix->d0c2 = 0.0;
- homogeneous_matrix->d0d0 = 1.0;
-}
-
-#endif
diff --git a/basic-geometry/hmg-vector3.c b/basic-geometry/hmg-vector3.c
deleted file mode 100644
index 58831b9..0000000
--- a/basic-geometry/hmg-vector3.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "./hmg-vector3.h"
-
-extern inline void bgc_fp32_hg_vector3_reset_point(BGC_FP32_HmgVector3* homogeneous_vector);
-extern inline void bgc_fp64_hg_vector3_reset_point(BGC_FP64_HmgVector3* homogeneous_vector);
-
-extern inline void bgc_fp32_hg_vector3_reset_vector(BGC_FP32_HmgVector3* homogeneous_vector);
-extern inline void bgc_fp64_hg_vector3_reset_vector(BGC_FP64_HmgVector3* homogeneous_vector);
-
-extern inline void bgc_fp32_hg_vector3_make(BGC_FP32_HmgVector3* homogeneous_vector, const float x1, const float x2, const float x3, const float ratio);
-extern inline void bgc_fp64_hg_vector3_make(BGC_FP64_HmgVector3* homogeneous_vector, const double x1, const double x2, const double x3, const double ratio);
-
-extern inline void bgc_fp32_hg_vector3_make_point(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector);
-extern inline void bgc_fp64_hg_vector3_make_point(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector);
-
-extern inline void bgc_fp32_hg_vector3_make_vector(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector);
-extern inline void bgc_fp64_hg_vector3_make_vector(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector);
-
-extern inline int bgc_fp32_hg_vector3_is_point(const BGC_FP32_HmgVector3* homogeneous_vector);
-extern inline int bgc_fp64_hg_vector3_is_point(const BGC_FP64_HmgVector3* homogeneous_vector);
-
-extern inline int bgc_fp32_hg_vector3_is_vector(const BGC_FP32_HmgVector3* homogeneous_vector);
-extern inline int bgc_fp64_hg_vector3_is_vector(const BGC_FP64_HmgVector3* homogeneous_vector);
-
-extern inline void bgc_fp32_hg_vector3_copy(BGC_FP32_HmgVector3* destination, const BGC_FP32_HmgVector3* source);
-extern inline void bgc_fp64_hg_vector3_copy(BGC_FP64_HmgVector3* destination, const BGC_FP64_HmgVector3* source);
-
-extern inline void bgc_fp32_hg_vector3_swap(BGC_FP32_HmgVector3* first, BGC_FP32_HmgVector3* second);
-extern inline void bgc_fp64_hg_vector3_swap(BGC_FP64_HmgVector3* first, BGC_FP64_HmgVector3* second);
diff --git a/basic-geometry/hmg-vector3.h b/basic-geometry/hmg-vector3.h
deleted file mode 100644
index 16d8fac..0000000
--- a/basic-geometry/hmg-vector3.h
+++ /dev/null
@@ -1,211 +0,0 @@
-#ifndef _BGC_HG_VECTOR3_H_INCLUDED_
-#define _BGC_HG_VECTOR3_H_INCLUDED_
-
-#include "./types.h"
-#include "./utilities.h"
-
-// ================ Reset Point ================= //
-
-inline void bgc_fp32_hg_vector3_reset_point(BGC_FP32_HmgVector3* homogeneous_vector)
-{
- homogeneous_vector->x1 = 0.0f;
- homogeneous_vector->x2 = 0.0f;
- homogeneous_vector->x3 = 0.0f;
- homogeneous_vector->d0 = 1.0f;
-}
-
-inline void bgc_fp64_hg_vector3_reset_point(BGC_FP64_HmgVector3* homogeneous_vector)
-{
- homogeneous_vector->x1 = 0.0;
- homogeneous_vector->x2 = 0.0;
- homogeneous_vector->x3 = 0.0;
- homogeneous_vector->d0 = 1.0;
-}
-
-// ================ Reset Point ================= //
-
-inline void bgc_fp32_hg_vector3_reset_vector(BGC_FP32_HmgVector3* homogeneous_vector)
-{
- homogeneous_vector->x1 = 0.0f;
- homogeneous_vector->x2 = 0.0f;
- homogeneous_vector->x3 = 0.0f;
- homogeneous_vector->d0 = 0.0f;
-}
-
-inline void bgc_fp64_hg_vector3_reset_vector(BGC_FP64_HmgVector3* homogeneous_vector)
-{
- homogeneous_vector->x1 = 0.0;
- homogeneous_vector->x2 = 0.0;
- homogeneous_vector->x3 = 0.0;
- homogeneous_vector->d0 = 0.0;
-}
-
-// ==================== Make ==================== //
-
-inline void bgc_fp32_hg_vector3_make(BGC_FP32_HmgVector3* homogeneous_vector, const float x1, const float x2, const float x3, const float d0)
-{
- homogeneous_vector->x1 = x1;
- homogeneous_vector->x2 = x2;
- homogeneous_vector->x3 = x3;
- homogeneous_vector->d0 = d0;
-}
-
-inline void bgc_fp64_hg_vector3_make(BGC_FP64_HmgVector3* homogeneous_vector, const double x1, const double x2, const double x3, const double d0)
-{
- homogeneous_vector->x1 = x1;
- homogeneous_vector->x2 = x2;
- homogeneous_vector->x3 = x3;
- homogeneous_vector->d0 = d0;
-}
-
-// ================= Make Point ================= //
-
-inline void bgc_fp32_hg_vector3_make_point(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector)
-{
- homogeneous_vector->x1 = regular_vector->x1;
- homogeneous_vector->x2 = regular_vector->x2;
- homogeneous_vector->x3 = regular_vector->x3;
- homogeneous_vector->d0 = 1.0f;
-}
-
-inline void bgc_fp64_hg_vector3_make_point(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector)
-{
- homogeneous_vector->x1 = regular_vector->x1;
- homogeneous_vector->x2 = regular_vector->x2;
- homogeneous_vector->x3 = regular_vector->x3;
- homogeneous_vector->d0 = 1.0;
-}
-
-// ================ Make Vector ================= //
-
-inline void bgc_fp32_hg_vector3_make_vector(BGC_FP32_HmgVector3* homogeneous_vector, const BGC_FP32_Vector3* regular_vector)
-{
- homogeneous_vector->x1 = regular_vector->x1;
- homogeneous_vector->x2 = regular_vector->x2;
- homogeneous_vector->x3 = regular_vector->x3;
- homogeneous_vector->d0 = 0.0f;
-}
-
-inline void bgc_fp64_hg_vector3_make_vector(BGC_FP64_HmgVector3* homogeneous_vector, const BGC_FP64_Vector3* regular_vector)
-{
- homogeneous_vector->x1 = regular_vector->x1;
- homogeneous_vector->x2 = regular_vector->x2;
- homogeneous_vector->x3 = regular_vector->x3;
- homogeneous_vector->d0 = 0.0;
-}
-
-// ================== Is Point ================== //
-
-inline int bgc_fp32_hg_vector3_is_point(const BGC_FP32_HmgVector3* homogeneous_vector)
-{
- return !bgc_fp32_is_zero(homogeneous_vector->d0);
-}
-
-inline int bgc_fp64_hg_vector3_is_point(const BGC_FP64_HmgVector3* homogeneous_vector)
-{
- return !bgc_fp64_is_zero(homogeneous_vector->d0);
-}
-
-// ================= Is Vector ================== //
-
-inline int bgc_fp32_hg_vector3_is_vector(const BGC_FP32_HmgVector3* homogeneous_vector)
-{
- return bgc_fp32_is_zero(homogeneous_vector->d0);
-}
-
-inline int bgc_fp64_hg_vector3_is_vector(const BGC_FP64_HmgVector3* homogeneous_vector)
-{
- return bgc_fp64_is_zero(homogeneous_vector->d0);
-}
-
-// ==================== Copy ==================== //
-
-inline void bgc_fp32_hg_vector3_copy(BGC_FP32_HmgVector3* destination, const BGC_FP32_HmgVector3* source)
-{
- destination->x1 = source->x1;
- destination->x2 = source->x2;
- destination->x3 = source->x3;
- destination->d0 = source->d0;
-}
-
-inline void bgc_fp64_hg_vector3_copy(BGC_FP64_HmgVector3* destination, const BGC_FP64_HmgVector3* source)
-{
- destination->x1 = source->x1;
- destination->x2 = source->x2;
- destination->x3 = source->x3;
- destination->d0 = source->d0;
-}
-
-// ==================== Swap ==================== //
-
-inline void bgc_fp32_hg_vector3_swap(BGC_FP32_HmgVector3* first, BGC_FP32_HmgVector3* second)
-{
- const float x1 = first->x1;
- const float x2 = first->x2;
- const float x3 = first->x3;
- const float d0 = first->d0;
-
- first->x1 = second->x1;
- first->x2 = second->x2;
- first->x3 = second->x3;
- first->d0 = second->d0;
-
- second->x1 = x1;
- second->x2 = x2;
- second->x3 = x3;
- second->d0 = d0;
-}
-
-inline void bgc_fp64_hg_vector3_swap(BGC_FP64_HmgVector3* first, BGC_FP64_HmgVector3* second)
-{
- const double x1 = first->x1;
- const double x2 = first->x2;
- const double x3 = first->x3;
- const double d0 = first->d0;
-
- first->x1 = second->x1;
- first->x2 = second->x2;
- first->x3 = second->x3;
- first->d0 = second->d0;
-
- second->x1 = x1;
- second->x2 = x2;
- second->x3 = x3;
- second->d0 = d0;
-}
-
-// ================== Rescale =================== //
-
-inline int bgc_fp32_hg_vector3_rescale(BGC_FP32_HmgVector3* homogeneous_vector, const float new_ratio)
-{
- if (bgc_fp32_is_zero(homogeneous_vector->d0)) {
- return BGC_FAILURE;
- }
-
- const float multiplier = new_ratio / homogeneous_vector->d0;
-
- homogeneous_vector->x1 *= multiplier;
- homogeneous_vector->x2 *= multiplier;
- homogeneous_vector->x3 *= multiplier;
- homogeneous_vector->d0 = new_ratio;
-
- return BGC_SUCCESS;
-}
-
-inline int bgc_fp64_hg_vector3_rescale(BGC_FP64_HmgVector3* homogeneous_vector, const double new_ratio)
-{
- if (bgc_fp64_is_zero(homogeneous_vector->d0)) {
- return BGC_FAILURE;
- }
-
- const double multiplier = new_ratio / homogeneous_vector->d0;
-
- homogeneous_vector->x1 *= multiplier;
- homogeneous_vector->x2 *= multiplier;
- homogeneous_vector->x3 *= multiplier;
- homogeneous_vector->d0 = new_ratio;
-
- return BGC_SUCCESS;
-}
-
-#endif
diff --git a/basic-geometry/types.h b/basic-geometry/types.h
index 1a15a4f..c5b8054 100644
--- a/basic-geometry/types.h
+++ b/basic-geometry/types.h
@@ -181,40 +181,6 @@ typedef struct {
BGC_FP64_Vector3 shift;
} BGC_FP64_Position3;
-// =========== Homogeneous 3D Vector ============ //
-
-// Homogeneous 3D Vector
-typedef struct
-{
- float x1, x2, x3, d0;
-} BGC_FP32_HmgVector3;
-
-// Homogeneous 3D Vector
-typedef struct
-{
- double x1, x2, x3, d0;
-} BGC_FP64_HmgVector3;
-
-// =========== Homogeneous Matrix3x3 ============ //
-
-// Homogeneous Matrix3x3 based on float type
-typedef struct
-{
- float r1c1, r1c2, r1c3, r1d0;
- float r2c1, r2c2, r2c3, r2d0;
- float r3c1, r3c2, r3c3, r3d0;
- float d0c1, d0c2, d0c3, d0d0;
-} BGC_FP32_HmgMatrix3x3;
-
-// Homogeneous Matrix3x3 based on double type
-typedef struct
-{
- double r1c1, r1c2, r1c3, r1d0;
- double r2c1, r2c2, r2c3, r2d0;
- double r3c1, r3c2, r3c3, r3d0;
- double d0c1, d0c2, d0c3, d0d0;
-} BGC_FP64_HmgMatrix3x3;
-
// ================ Dual Scalar ================= //
typedef struct {