BIMHome v1.0.0
BIMHome接口文档说明
CoordinateSystem.h
浏览该文件的文档.
1/************************************************************************
2* @file CoordinateSystem.h
3*
4* @brief 右手坐标系
5*
6* @details 右手坐标系
7*
8* @author wukx
9*
10* @version v1.0
11*
12* @date 2016.9.29
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef BIMHOMEBASE_COORDINATESYSTEM_H
19#define BIMHOMEBASE_COORDINATESYSTEM_H
20
21#include "Axis.h"
22
23namespace Base
24{
30 class BaseExport CoordinateSystem
31 {
32 public:
38
44
50 void setAxis(const Axis& v);
51
58 void setAxes(const Axis& v, const Vector3d& xd);
59
66 void setAxes(const Vector3d& n, const Vector3d& xd);
67
73 inline const Axis& getAxis() const { return axis; }
74
80 void setXDirection(const Vector3d& v);
81
87 inline const Vector3d& getXDirection() const { return xdir; }
88
94 void setYDirection(const Vector3d& v);
95
101 inline const Vector3d& getYDirection() const { return ydir; }
102
108 void setZDirection(const Vector3d& v);
109
115 inline const Vector3d& getZDirection() const { return axis.getDirection(); }
116
122 inline void setPosition(const Vector3d& p) { axis.setBase(p); }
123
129 inline const Vector3d& getPosition() const { return axis.getBase(); }
130
138
145
151 void transform(const Placement& p);
152
158 void transform(const Rotation& r);
159
165 void setPlacement(const Placement& p);
166
167 private:
171 };
172
173}
174
175#endif // BIMHOMEBASE_COORDINATESYSTEM_H
Axis 类,用于表示三维空间中的轴
Definition Axis.h:31
void setPlacement(const Placement &p)
设置坐标系的变换
void setXDirection(const Vector3d &v)
设置X轴方向
CoordinateSystem()
默认构造函数
void transformTo(Vector3d &p)
将点转换到当前坐标系
void setZDirection(const Vector3d &v)
设置Z轴方向
const Vector3d & getXDirection() const
获取X轴方向
Definition CoordinateSystem.h:87
Placement displacement(const CoordinateSystem &cs) const
计算从当前坐标系到目标坐标系的位移
void transform(const Placement &p)
应用变换到坐标系
~CoordinateSystem()
析构函数
void setPosition(const Vector3d &p)
设置坐标系的位置
Definition CoordinateSystem.h:122
Axis axis
主轴
Definition CoordinateSystem.h:168
void setAxes(const Axis &v, const Vector3d &xd)
设置主轴和X轴方向
void setAxis(const Axis &v)
设置主轴
Vector3d ydir
Y轴方向
Definition CoordinateSystem.h:170
const Axis & getAxis() const
获取主轴
Definition CoordinateSystem.h:73
const Vector3d & getYDirection() const
获取Y轴方向
Definition CoordinateSystem.h:101
Vector3d xdir
X轴方向
Definition CoordinateSystem.h:169
void setYDirection(const Vector3d &v)
设置Y轴方向
const Vector3d & getPosition() const
获取坐标系的位置
Definition CoordinateSystem.h:129
void transform(const Rotation &r)
应用旋转到坐标系
void setAxes(const Vector3d &n, const Vector3d &xd)
设置主轴和X轴方向
const Vector3d & getZDirection() const
获取Z轴方向
Definition CoordinateSystem.h:115
描述三维空间中的右手坐标系
Definition CoordinateSystem.h:31
Placement 类,表示三维空间中的位置和旋转
Definition Placement.h:34
Definition Rotation.h:32
Definition BaseFigureFactory.h:24