Vector.h (pymol-v2.1.0.tar.bz2) | : | Vector.h (pymol-open-source-2.2.0) | ||
---|---|---|---|---|
skipping to change at line 23 | skipping to change at line 23 | |||
-* | -* | |||
-* | -* | |||
Z* ------------------------------------------------------------------- | Z* ------------------------------------------------------------------- | |||
*/ | */ | |||
#ifndef _H_Vector | #ifndef _H_Vector | |||
#define _H_Vector | #define _H_Vector | |||
#include"os_predef.h" | #include"os_predef.h" | |||
#include"os_gl.h" | #include"os_gl.h" | |||
#include<math.h> | #include<math.h> | |||
// include GLM library | ||||
#include <glm/glm.hpp> | ||||
using glm::vec3; | ||||
using glm::vec4; | ||||
using glm::ivec2; | ||||
/* NOTE THIS VERSION USES RADIANS BY DEFAULT! */ | /* NOTE THIS VERSION USES RADIANS BY DEFAULT! */ | |||
/* NOTE: Matrices are assumed to be row-major (C-like not | /* NOTE: Matrices are assumed to be row-major (C-like not | |||
* OpenGL-like) unless explictly labeled as per the following | * OpenGL-like) unless explictly labeled as per the following | |||
* conventions: | * conventions: | |||
* | * | |||
* row-major: 33f, 33d, 44f, 44d, R33f, R33d, R44f, R44d | * row-major: 33f, 33d, 44f, 44d, R33f, R33d, R44f, R44d | |||
* column-major: C33f, C33d, C44f, C44d | * column-major: C33f, C33d, C44f, C44d | |||
*/ | */ | |||
skipping to change at line 44 | skipping to change at line 52 | |||
#define GET_BIT(val, bit) (((val) >> (bit)) & 1) | #define GET_BIT(val, bit) (((val) >> (bit)) & 1) | |||
#define SET_BIT(val, bit) (val) |= (1 << (bit)) | #define SET_BIT(val, bit) (val) |= (1 << (bit)) | |||
#define SET_BIT_OFF(val, bit) (val) &= ~(1 << (bit)) | #define SET_BIT_OFF(val, bit) (val) &= ~(1 << (bit)) | |||
#define SET_BIT_TO(val, bit, v) {if(v) SET_BIT(val, bit); else SET_BIT_OFF(val, bit);} | #define SET_BIT_TO(val, bit, v) {if(v) SET_BIT(val, bit); else SET_BIT_OFF(val, bit);} | |||
short countBits(unsigned long bits); | short countBits(unsigned long bits); | |||
short countBitsInt(int bits); | short countBitsInt(int bits); | |||
typedef float Vector3f[3]; /* for local vars only - use float* for paramete rs */ | typedef float Vector3f[3]; /* for local vars only - use float* for paramete rs */ | |||
typedef float Vector4f[4]; | ||||
typedef int Vector3i[3]; | typedef int Vector3i[3]; | |||
typedef float Matrix33f[3][3]; | typedef float Matrix33f[3][3]; | |||
typedef double Matrix33d[3][3]; | typedef double Matrix33d[3][3]; | |||
typedef float Matrix53f[5][3]; | typedef float Matrix53f[5][3]; | |||
typedef double Matrix53d[5][3]; | typedef double Matrix53d[5][3]; | |||
unsigned int optimizer_workaround1u(unsigned int value); | unsigned int optimizer_workaround1u(unsigned int value); | |||
float get_random0to1f(void); | float get_random0to1f(void); | |||
float deg_to_rad(float angle); | float deg_to_rad(float angle); | |||
float rad_to_deg(float angle); | float rad_to_deg(float angle); | |||
void normalize23f(const float *v1, float *v2); | void normalize23f(const float *v1, float *v2); | |||
void normalize3d(double *v1); | void normalize3d(double *v1); | |||
void normalize2f(float *v1); | ||||
void normalize4f(float *v1); | ||||
void clamp3f(float *v1); | void clamp3f(float *v1); | |||
void get_divergent3f(const float *src, float *dst); | void get_divergent3f(const float *src, float *dst); | |||
void get_random3f(float *x); | void get_random3f(float *x); | |||
void scatter3f(float *v, float weight); | void scatter3f(float *v, float weight); | |||
void wiggle3f(float *v, const float *p, const float *s); | void wiggle3f(float *v, const float *p, const float *s); | |||
void extrapolate3f(const float *v1, const float *unit, float *result); | void extrapolate3f(const float *v1, const float *unit, float *result); | |||
void mix3f(const float *v1, const float *v2, float fxn, float *v3); | void mix3f(const float *v1, const float *v2, float fxn, float *v3); | |||
void mix3d(const double *v1, const double *v2, double fxn, double *v3); | void mix3d(const double *v1, const double *v2, double fxn, double *v3); | |||
skipping to change at line 123 | skipping to change at line 134 | |||
void identity44d(double *m1); | void identity44d(double *m1); | |||
bool is_identityf(int n, const float *m, float threshold=1.0E-6F); | bool is_identityf(int n, const float *m, float threshold=1.0E-6F); | |||
bool is_allclosef(int nrow, | bool is_allclosef(int nrow, | |||
const float *m1, int ncol1, | const float *m1, int ncol1, | |||
const float *m2, int ncol2, float threshold=1.0E-6F); | const float *m2, int ncol2, float threshold=1.0E-6F); | |||
bool is_diagonalf(int nrow, | bool is_diagonalf(int nrow, | |||
const float *m, int ncol=0, float threshold=1.0E-6F); | const float *m, int ncol=0, float threshold=1.0E-6F); | |||
double determinant33f(const float *m, int ncol=3); | double determinant33f(const float *m, int ncol=3); | |||
#define GLORTHO(l,r,b,t,n,f) glOrtho(l,r,b,t,n,f) | void glOrtho44f(float *m1, | |||
GLfloat left, GLfloat right, | ||||
GLfloat bottom, GLfloat top, | ||||
GLfloat nearVal, GLfloat farVal); | ||||
void glFrustum44f(float *m1, | ||||
GLfloat left, GLfloat right, | ||||
GLfloat bottom, GLfloat top, | ||||
GLfloat nearVal, GLfloat farVal); | ||||
void copy44f44f(const float *src, float *dst); | void copy44f44f(const float *src, float *dst); | |||
void copy44d44f(const double *src, float *dst); | void copy44d44f(const double *src, float *dst); | |||
void copy44f44d(const float *src, double *dst); | void copy44f44d(const float *src, double *dst); | |||
void copy44d33f(const double *src, float *dst); | void copy44d33f(const double *src, float *dst); | |||
void copy44f33f(const float *src, float *dst); | void copy44f33f(const float *src, float *dst); | |||
void copy33f44d(const float *src, double *dst); | void copy33f44d(const float *src, double *dst); | |||
void copy33f44f(const float *src, float *dst); | void copy33f44f(const float *src, float *dst); | |||
void copy3d3f(const double *v1, float *v2); | void copy3d3f(const double *v1, float *v2); | |||
void copy3f3d(const float *v1, double *v2); | void copy3f3d(const float *v1, double *v2); | |||
skipping to change at line 236 | skipping to change at line 255 | |||
void matrix_to_rotation(Matrix53f rot, float *axis, float *angle); | void matrix_to_rotation(Matrix53f rot, float *axis, float *angle); | |||
void rotation_to_matrix(Matrix53f rot, const float *axis, float angle); | void rotation_to_matrix(Matrix53f rot, const float *axis, float angle); | |||
void transform3d3f(const oMatrix3d m1, const float *v1, float *v2); | void transform3d3f(const oMatrix3d m1, const float *v1, float *v2); | |||
void transform33d3f(const Matrix33d m1, const float *v1, float *v2); | void transform33d3f(const Matrix33d m1, const float *v1, float *v2); | |||
void transform5f3f(const oMatrix5f m, const float *v1, float *v2); | void transform5f3f(const oMatrix5f m, const float *v1, float *v2); | |||
void mult4f(const float *vsrc, float val, float *vdest); | void mult4f(const float *vsrc, float val, float *vdest); | |||
void mult3f(const float *vsrc, float val, float *vdest); | void mult3f(const float *vsrc, float val, float *vdest); | |||
float max3(float val1, float val2, float val3); | float max3(float val1, float val2, float val3); | |||
float max2(float val1, float val2); | ||||
float ave3(float val1, float val2, float val3); | float ave3(float val1, float val2, float val3); | |||
float ave2(float val1, float val2); | float ave2(float val1, float val2); | |||
void white4f(float *rgba, float value); | void white4f(float *rgba, float value); | |||
void add4f(const float *v1, const float *v2, float *sum); | void add4f(const float *v1, const float *v2, float *sum); | |||
int countchrs(const char *str, char ch); | int countchrs(const char *str, char ch); | |||
float smooth(float x, float power); | float smooth(float x, float power); | |||
void subdivide(int n, float *x, float *y); | void subdivide(int n, float *x, float *y); | |||
End of changes. 5 change blocks. | ||||
2 lines changed or deleted | 20 lines changed or added |