FrontISTR 5.2.0
Large-scale structural analysis program with finit element method
Loading...
Searching...
No Matches
cconv_mat.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright (c) 2019 FrontISTR Commons
3 * This software is released under the MIT License, see LICENSE.txt
4 *****************************************************************************/
5/* matrix for converting ver.1.0 */
6
7#ifndef cconv_matH
8#define cconv_matH
9
10#include <math.h>
11
13
14class cconv_mat {
15 public:
16 double e[4][4];
18
21 cconv_mat& operator=(const cconv_mat& m);
23
24 void zero();
25 void unit();
26 void transfer(double x, double y, double z);
27 void rotate(char axis, double angle);
28
29 void convert(double x, double y, double z, double& X, double& Y, double& Z);
30
31 double& operator()(int i, int j) { return e[i][j]; }
32 double operator()(int i, int j) const { return e[i][j]; }
33
34 void cartesian_convert(double x, double y, double z, double& X, double& Y,
35 double& Z);
36 void cylinder2cartesian(double r, double a, double h, double& x, double& y,
37 double& z);
38 void sphere2cartesian(double r, double a, double b, double& x, double& y,
39 double& z);
40};
41
43
44#endif
cconv_mat operator*(cconv_mat &a, cconv_mat &b)
Definition: cconv_mat.cpp:165
coord_type
Definition: cconv_mat.h:12
@ coord_t_sphere
Definition: cconv_mat.h:12
@ coord_t_cartesian
Definition: cconv_mat.h:12
@ coord_t_cylinder
Definition: cconv_mat.h:12
double & operator()(int i, int j)
Definition: cconv_mat.h:31
void sphere2cartesian(double r, double a, double b, double &x, double &y, double &z)
Definition: cconv_mat.cpp:157
void rotate(char axis, double angle)
Definition: cconv_mat.cpp:71
void zero()
Definition: cconv_mat.cpp:44
void cartesian_convert(double x, double y, double z, double &X, double &Y, double &Z)
Definition: cconv_mat.cpp:143
void cylinder2cartesian(double r, double a, double h, double &x, double &y, double &z)
Definition: cconv_mat.cpp:150
void transfer(double x, double y, double z)
Definition: cconv_mat.cpp:64
void convert(double x, double y, double z, double &X, double &Y, double &Z)
Definition: cconv_mat.cpp:119
cconv_mat & operator*=(const cconv_mat &m)
Definition: cconv_mat.cpp:32
void unit()
Definition: cconv_mat.cpp:52
cconv_mat & operator=(const cconv_mat &m)
Definition: cconv_mat.cpp:20
double e[4][4]
Definition: cconv_mat.h:16
double operator()(int i, int j) const
Definition: cconv_mat.h:32
coord_type type
Definition: cconv_mat.h:17