#ifndef HS_GP_PNT_H #define HS_GP_PNT_H #include "hs_types.h" #ifdef __cplusplus extern "C" { #endif gp_Pnt * hs_new_gp_Pnt(double x, double y, double z); void hs_delete_gp_Pnt(gp_Pnt* pnt); double hs_gp_Pnt_X(gp_Pnt * pnt); double hs_gp_Pnt_Y(gp_Pnt * pnt); double hs_gp_Pnt_Z(gp_Pnt * pnt); void hs_gp_Pnt_SetX(gp_Pnt * pnt, double x); void hs_gp_Pnt_SetY(gp_Pnt * pnt, double y); void hs_gp_Pnt_SetZ(gp_Pnt * pnt, double z); double hs_gp_Pnt_Distance(gp_Pnt * a, gp_Pnt * b ); double hs_gp_Pnt_SquareDistance(gp_Pnt * a, gp_Pnt * b ); void hs_gp_Pnt_BaryCenter(gp_Pnt * a, double alpha, gp_Pnt * b, double beta); bool hs_gp_Pnt_IsEqual(gp_Pnt * a, gp_Pnt * b, double tolerance); void hs_gp_Pnt_Mirror(gp_Pnt * thePnt, gp_Pnt * theAxis); gp_Pnt * hs_gp_Pnt_Mirrored(gp_Pnt * thePnt, gp_Pnt * theAxis); void hs_gp_Pnt_MirrorAboutAx1(gp_Pnt * thePnt, gp_Ax1 * theAxis); gp_Pnt * hs_gp_Pnt_MirroredAboutAx1(gp_Pnt * thePnt, gp_Ax1 * theAxis); void hs_gp_Pnt_MirrorAboutAx2(gp_Pnt * thePnt, gp_Ax2 * theAxis); gp_Pnt * hs_gp_Pnt_MirroredAboutAx2(gp_Pnt * thePnt, gp_Ax2 * theAxis); void hs_gp_Pnt_Rotate(gp_Pnt * thePnt, gp_Ax1 * theAxis, double amount); gp_Pnt * hs_gp_Pnt_Rotated(gp_Pnt * thePnt, gp_Ax1 * theAxis, double amount); void hs_gp_Pnt_Scale(gp_Pnt * thePnt, gp_Pnt * origin, double amount); gp_Pnt * hs_gp_Pnt_Scaled(gp_Pnt * thePnt, gp_Pnt * origin, double amount); void hs_gp_Pnt_Transform(gp_Pnt * thePnt, gp_Trsf * trsf); gp_Pnt * hs_gp_Pnt_Transformed(gp_Pnt * thePnt, gp_Trsf * trsf); void hs_gp_Pnt_Translate(gp_Pnt * thePnt, gp_Vec * vec); gp_Pnt * hs_gp_Pnt_Translated(gp_Pnt * thePnt, gp_Vec * vec); void hs_gp_Pnt_TranslateRelative(gp_Pnt * thePnt, gp_Pnt * from, gp_Pnt * to); gp_Pnt * hs_gp_Pnt_TranslatedRelative(gp_Pnt * thePnt, gp_Pnt * from, gp_Pnt * to); #ifdef __cplusplus } #endif #endif // HS_GP_PNT_H