CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
AECGeProfile.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a
16// license agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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 __AECGEPROFILE_H__
25#define __AECGEPROFILE_H__
26
30#include "FMProfile2D.h"
31#include <Ge/GeSegmentChain2d.h>
32
33class AECGeProfile;
36
46class AECBASE_API AECGeProfile : public AECImpObj
47{
49
50 public:
55
66
71
75 void GetExtents( OdGeExtents2d& cExtents ) const;
76
80 double GetArea() const;
81
86
87 public:
92 const OdRxClass* pSegmentType = 0,
93 const OdRxClass* pLoopType = 0 );
94
98 static AECGeProfilePtr Create( const OdGeSegmentChain2d& rPolyline, const OdRxClass* pSegmentType = 0 );
99
103 static AECGeProfilePtr Create(const FacetModeler::Profile2D& rProfile, const OdRxClass* pSegmentType = 0);
104
108 void Init( const OdGeSegmentChain2d& rPolyline, const OdRxClass* pSegmentType = 0 );
109
113 void Init(const FacetModeler::Profile2D& rProfile,
114 const OdRxClass* pSegmentType = 0);
115
119 void InitFrom(const FacetModeler::Profile2D& rProfile, const AECGeProfile* pSource,
120 const OdRxClass* pSegmentType = 0 );
121
125 void SetDefaultSegmentType( const OdRxClass* pSegmentType );
126
130 void SetDefaultRingType( const OdRxClass* pRingType );
131
136
141
146
150 inline bool IsCacheInvalid() const {
151 return GETBIT( m_nFlags, 1 );
152 }
153
157 inline void SetCacheInvalid( bool bInvalid ) {
158 SETBIT( m_nFlags, 1, bInvalid );
159 }
160
164 void Translate( const OdGeVector2d& v );
165 protected:
166 // Array of rings classes instance AECGeRing .
167 // Each ring represents some closed curve. For example of type AECGeRing.
169
170 // Flags.
172
173 //
175
176 //
178
179 //
181};
182
183#endif //__AECGEPROFILE_H__
OdSmartPtr< AECGeProfile > AECGeProfilePtr
Definition: AECGeProfile.h:34
AECSubPtr< AECGeProfile > AECGeProfileSubPtr
Definition: AECGeProfile.h:35
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned int OdUInt32
unsigned short OdUInt16
#define SETBIT(flags, bit, value)
Definition: OdaDefs.h:516
#define GETBIT(flags, bit)
Definition: OdaDefs.h:517
AECGeRingSubPtr GetRingByIndex(OdUInt32 iIndex) const
static AECGeProfilePtr CreateStandard(const OdRxClass *pSegmentType=0, const OdRxClass *pLoopType=0)
void SetAttribute(AECAttribute *pAttr)
bool IsCacheInvalid() const
Definition: AECGeProfile.h:150
double GetArea() const
void Init(const OdGeSegmentChain2d &rPolyline, const OdRxClass *pSegmentType=0)
void GetExtents(OdGeExtents2d &cExtents) const
void GetRawProfile(FacetModeler::Profile2D &rProfile) const
void SetDefaultRingType(const OdRxClass *pRingType)
const OdRxClass * m_pDefaultSegmentType
Definition: AECGeProfile.h:177
void SetDefaultSegmentType(const OdRxClass *pSegmentType)
void Init(const FacetModeler::Profile2D &rProfile, const OdRxClass *pSegmentType=0)
AECImpArraySubPtr GetRings()
const OdRxClass * m_pDefaultRingType
Definition: AECGeProfile.h:180
AECAttributePtr m_pAttribute
Definition: AECGeProfile.h:174
static AECGeProfilePtr Create(const FacetModeler::Profile2D &rProfile, const OdRxClass *pSegmentType=0)
OdUInt16 m_nFlags
Definition: AECGeProfile.h:171
OdUInt32 GetRingCount() const
OdGePoint2d GetCenterOfMass() const
void SetCacheInvalid(bool bInvalid)
Definition: AECGeProfile.h:157
AECImpArray m_aRings
Definition: AECGeProfile.h:168
void InitFrom(const FacetModeler::Profile2D &rProfile, const AECGeProfile *pSource, const OdRxClass *pSegmentType=0)
AECAttributeSubPtr GetAttribute() const
void Translate(const OdGeVector2d &v)
static AECGeProfilePtr Create(const OdGeSegmentChain2d &rPolyline, const OdRxClass *pSegmentType=0)
const GLfloat * v
Definition: gles2_ext.h:315