CFx SDK Documentation  2023 SP0
GeSpunSurf.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_GESPUNSURF_H
27 #define OD_GESPUNSURF_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 spun surface has a parametric representation of the form:
45 // R( u, v ) = Z( u ) + ( C( u ) - Z( u ))cos( v ) + A X ( C( u ) - Z( u ) ) sin( v)
46 // where
47 // • C(u) is the profile curve
48 // • Z(u) is the projection of C(u) onto the spin axis
49 // • A is the spin axis direction (unit vector)
50 // • C must not be an intersection curve or a trimmed curve
51 // NOTE: Z(u) = P + ( ( C( u ) - P ) . A )A where P is a reference point on the axis.
52 //
53 // FOR INTERNAL USE.
54 //
55 
64 {
65 public:
66 
67 
70  const OdGeCurve3d &pProfile,
71  const OdGePoint3d &pBase,
72  const OdGeVector3d &pAxis);
73 
75  const OdGeSpunSurf&);
76 
78  const OdGeSpunSurf& extCurve);
79 
80  const OdGeCurve3d *getProfile() const;
81 
85  OdGeSpunSurf& setAngles(double startAngle, double endAngle);
87 
88  void set(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis);
89 
90 };
91 
92 #include "TD_PackPop.h"
93 
94 #endif // OD_GESPUNSURF_H
95 
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
void set(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis)
OdGeSpunSurf & setRef(const OdGeVector3d &pRef)
const OdGeCurve3d * getProfile() const
OdGeSpunSurf(const OdGeSpunSurf &)
OdGeSpunSurf(const OdGeCurve3d &pProfile, const OdGePoint3d &pBase, const OdGeVector3d &pAxis)
OdGeSpunSurf & setAngles(double startAngle, double endAngle)
OdGeVector3d getAxis() const
OdGeVector3d getRef() const
OdGePoint3d getBasePoint() const
OdGeSurface & operator=(const OdGeSurface &surf)