CFx SDK Documentation  2023 SP0
GeBoundBlock3d.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _OD_GEBOUNDBLOCK3D_H
25 #define _OD_GEBOUNDBLOCK3D_H
27 #include "Ge/GeEntity3d.h"
28 #include "Ge/GeExtents3d.h"
29 
30 #include "TD_PackPush.h"
31 
43 {
44 public:
45 
46 
62  const OdGePoint3d& base,
63  const OdGeVector3d& side1,
64  const OdGeVector3d& side2,
65  const OdGeVector3d& side3);
66  // TD Special
68  const OdGePoint3d& point1,
69  const OdGePoint3d& point2);
70  //
72  const OdGeBoundBlock3d& source);
73 
81  OdGePoint3d& p1,
82  OdGePoint3d& p2) const;
83 
92  void get(
93  OdGePoint3d& base,
94  OdGeVector3d& side1,
95  OdGeVector3d& side2,
96  OdGeVector3d& side3) const;
97 
105  const OdGePoint3d& p1,
106  const OdGePoint3d& p2);
107 
117  const OdGePoint3d& base,
118  const OdGeVector3d& side1,
119  const OdGeVector3d& side2,
120  const OdGeVector3d& side3);
121 
129  const OdGePoint3d& point);
130 
137  double distance);
138 
145  bool contains(
146  const OdGePoint3d& point,
147  const OdGeTol& tol = OdGeContext::gTol) const;
148 
156  const OdGeBoundBlock3d& block,
157  const OdGeTol& tol = OdGeContext::gTol) const;
158 
163  bool isBox() const;
164 
175  bool toBox);
176 
178 
180  // TD Special :
181 
184 
189 
193  void setToBoxOrtho(const OdGeVector3d &dir1, const OdGeVector3d &dir2, const OdGeVector3d &dir3);
194 
198  void setToBoxOrtho();
199 };
200 
201 inline void OdGeBoundBlock3d::setToBoxOrtho(const OdGeVector3d &dir1, const OdGeVector3d &dir2, const OdGeVector3d &dir3)
202 {
203  OdGeError status;
207  || status == OdGe::k0This)
211  || status == OdGe::k0This)
215  || status == OdGe::k0This))
216  setToBox(true);
217 }
218 
220 {
221  OdGePoint3d basePt;
222  OdGeVector3d dir1, dir2, dir3;
223  get(basePt, dir1, dir2, dir3);
224  setToBoxOrtho(dir1, dir2, dir3);
225 }
226 
227 #include "TD_PackPop.h"
228 
229 #endif
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGeBoundBlock3d & extend(const OdGePoint3d &point)
bool isDisjoint(const OdGeBoundBlock3d &block, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint3d maxPoint() const
bool contains(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeBoundBlock3d(const OdGePoint3d &point1, const OdGePoint3d &point2)
OdGeBoundBlock3d & setToBox(bool toBox)
OdGeBoundBlock3d & swell(double distance)
OdGeBoundBlock3d(const OdGePoint3d &base, const OdGeVector3d &side1, const OdGeVector3d &side2, const OdGeVector3d &side3)
OdGeBoundBlock3d(const OdGeBoundBlock3d &source)
bool isBox() const
void get(OdGePoint3d &base, OdGeVector3d &side1, OdGeVector3d &side2, OdGeVector3d &side3) const
OdGePoint3d center() const
OdGeBoundBlock3d & set(const OdGePoint3d &p1, const OdGePoint3d &p2)
OdGeBoundBlock3d & set(const OdGePoint3d &base, const OdGeVector3d &side1, const OdGeVector3d &side2, const OdGeVector3d &side3)
void getMinMaxPoints(OdGePoint3d &p1, OdGePoint3d &p2) const
OdGePoint3d minPoint() const
OdGeEntity3d & operator=(const OdGeEntity3d &entity)
Definition: GeTol.h:49
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
Definition: GeVector3d.h:91
bool isParallelTo(const OdGeVector3d &vect, const OdGeTol &tol=OdGeContext::gTol) const
static GE_STATIC_EXPORT const OdGeVector3d kYAxis
Definition: GeVector3d.h:90
static GE_STATIC_EXPORT const OdGeVector3d kXAxis
Definition: GeVector3d.h:89
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60
ErrorCondition
Definition: Ge.h:229
@ k0This
Definition: Ge.h:231