CFx SDK Documentation  2023 SP0
GeRevolvedSurface.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 
25 
26 #ifndef OD_GEREVOLVEDSURFACE_H
27 #define OD_GEREVOLVEDSURFACE_H
29 //
33 #include "Ge/GeSurface.h"
34 #include "Ge/GeInterval.h"
35 #include "OdPlatformSettings.h"
36 
37 class OdGePoint3d;
38 class OdGeVector3d;
39 class OdGeCircArc3d;
40 class OdGeLinearEnt3d;
41 
42 #include "TD_PackPush.h"
43 
44 // A revolved surface has a parametric representation of the form:
45 // retPnt(u, v) = P + C(v).x * (XVec * cos(u) + YVec * sin(u)) + C(v).z * A
46 // where
47 // • C(v) is the profile curve. Curve controls only 2 parameters - the height and the distance from the axis
48 // • P is the origin of the surface
49 // • A is the axis of the surface
50 // • XVec, YVec are the unit vectors for the rotated curve.
51 //
52 // FOR INTERNAL USE.
53 //
54 
63 {
64 public:
65 
66 
69  const OdGeCurve3d &pProfile,
70  const OdGePoint3d &pBase,
71  const OdGeVector3d &pAxis,
72  const OdGeVector3d &pRef);
73 
75  const OdGeRevolvedSurface&);
76 
78  const OdGeRevolvedSurface& extCurve);
79 
80  const OdGeCurve3d& getProfile() const;
81 
85  OdGeRevolvedSurface& setAngles(double startAngle, double endAngle);
87 
88  void set(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis, const OdGeVector3d &pRef);
89 
90 };
91 
92 #include "TD_PackPop.h"
93 
94 #endif // OD_GERevolvedSurface_H
95 
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGeRevolvedSurface & setAngles(double startAngle, double endAngle)
OdGePoint3d getBasePoint() const
OdGeRevolvedSurface(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis, const OdGeVector3d &pRef)
void set(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis, const OdGeVector3d &pRef)
OdGeRevolvedSurface & setRef(const OdGeVector3d &pRef)
OdGeVector3d getRef() const
OdGeRevolvedSurface(const OdGeRevolvedSurface &)
const OdGeCurve3d & getProfile() const
OdGeVector3d getAxis() const
OdGeSurface & operator=(const OdGeSurface &surf)