FRX SDK Documentation
2025 SP0
Loading...
Searching...
No Matches
SDK
FxARX
_impl_include
acdb17
AcDbSurface.h
Go to the documentation of this file.
1
#pragma once
2
3
//
4
// (C) Copyright 2005-2024 by Graebert GmbH.
5
//
6
// Permission to use, copy, modify, and distribute this software in
7
// object code form for any purpose and without fee is hereby granted,
8
// provided that the above copyright notice appears in all copies and
9
// that both that copyright notice and the limited warranty and
10
// restricted rights notice below appear in all supporting
11
// documentation.
12
//
13
// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14
// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17
// UNINTERRUPTED OR ERROR FREE.
18
19
#include "
..\acdb17\AcDbEntity.h
"
20
#include "
..\acad\Acad.h
"
21
22
template
<
typename
Param1 >
class
AcArrayMemCopyReallocator
;
23
class
AcDb3dSolid
;
24
class
AcDbDwgFiler
;
25
class
AcDbDxfFiler
;
26
class
AcDbEntity
;
27
class
AcDbSubentId
;
28
class
AcDbSystemInternals
;
29
class
AcRxClass
;
30
class
AcDbLoftProfile
;
31
class
AcDbPathRef
;
32
class
AcDb3dProfile
;
33
class
AcDbRevolvedSurface
;
34
class
AcDbExtrudedSurface
;
35
class
AcDbBlendOptions
;
36
class
AcDbNurbSurface
;
37
class
AcDbSweptSurface
;
38
39
typedef
AcArray<AcDbNurbSurface*>
AcDbNurbSurfaceArray
;
40
41
class
ARX_API
AcDbSurface
:
public
AcDbEntity
42
{
43
public
:
44
enum
WireframeType
45
{
46
kIsolines = 0,
47
kIsoparms = 1
48
};
49
enum
EdgeExtensionType
50
{
51
kExtendEdge = 0x000,
52
kStretchEdge = 0x001,
53
};
54
55
AcDbSurface
(
void
);
56
ACRX_DECLARE_MEMBERS
(
AcDbSurface
)
57
static
Acad
::
ErrorStatus
__cdecl
createFrom(
AcDbEntity
const *,
AcDbSurface
* &);
58
virtual
~
AcDbSurface
(
void
);
59
virtual
AcDbSubentId
internalSubentId
(
void
*)const ;
60
61
virtual
Acad
::
ErrorStatus
convertToRegion(
AcDbEntityArray
&);
62
virtual
Acad
::
ErrorStatus
getArea(
double
&)const ;
63
virtual
Acad
::
ErrorStatus
getClassID(
_GUID
*)const ;
64
virtual
Acad
::
ErrorStatus
setBody(
void
const *);
65
virtual
Acad
::
ErrorStatus
setUIsolineDensity(
unsigned
short
);
66
virtual
Acad
::
ErrorStatus
setVIsolineDensity(
unsigned
short
);
67
virtual
Acad
::
ErrorStatus
thicken(
double
,
bool
,
AcDb3dSolid
* &)const ;
68
virtual
unsigned
short
uIsolineDensity(
void
)const ;
69
virtual
unsigned
short
vIsolineDensity(
void
)const ;
70
virtual
void
* body(
void
)const ;
71
virtual
void
* internalSubentPtr(
AcDbSubentId
const &)const ;
72
73
virtual
Acad
::
ErrorStatus
booleanUnion( const
AcDbSurface
*,
AcDbSurface
*&);
74
virtual
Acad
::
ErrorStatus
booleanSubtract(const
AcDb3dSolid
*,
AcDbSurface
*&);
75
virtual
Acad
::
ErrorStatus
booleanSubtract( const
AcDbSurface
*,
AcDbSurface
*&);
76
virtual
Acad
::
ErrorStatus
booleanIntersect( const
AcDbSurface
*,
AcArray
<
AcDbEntity
*>&);
77
virtual
Acad
::
ErrorStatus
booleanIntersect(const
AcDb3dSolid
*,
AcArray
<
AcDbEntity
*>&);
78
virtual
Acad
::
ErrorStatus
imprintEntity(const
AcDbEntity
*);
79
virtual
Acad
::
ErrorStatus
createSectionObjects(const
AcGePlane
&,
AcArray
<
AcDbEntity
*>&) const;
80
virtual
Acad
::
ErrorStatus
sliceByPlane(const
AcGePlane
& ,
AcDbSurface
*& ,
AcDbSurface
*& );
81
virtual
Acad
::
ErrorStatus
sliceBySurface(const
AcDbSurface
* ,
AcDbSurface
*& ,
AcDbSurface
*& );
82
virtual
Acad
::
ErrorStatus
chamferEdges(const
AcArray
<
AcDbSubentId
*> &, const
AcDbSubentId
& ,
double
,
double
);
83
virtual
Acad
::
ErrorStatus
filletEdges(const
AcArray
<
AcDbSubentId
*> &,const
AcGeDoubleArray
& ,const
AcGeDoubleArray
& ,const
AcGeDoubleArray
& );
84
virtual
Acad
::
ErrorStatus
createInterferenceObjects(
AcArray
<
AcDbEntity
*>&,
AcDbEntity
*,
unsigned
int
) const;
85
Acad
::
ErrorStatus
chamferEdges(const
AcArray
<
AcDbSubentId
*> &, const
AcDbSubentId
& ,
double
,
double
,
bool
);
86
Acad
::
ErrorStatus
filletEdges(const
AcArray
<
AcDbSubentId
*> &,
double
,
bool
);
87
Acad
::
ErrorStatus
projectOnToSurface(const
AcDbEntity
* , const
AcGeVector3d
& ,
AcArray
<
AcDbEntity
*>& ) const;
88
virtual
Acad
::
ErrorStatus
setSubentColor(const
AcDbSubentId
& ,const
AcCmColor
&);
89
virtual
Acad
::
ErrorStatus
getSubentColor(const
AcDbSubentId
& ,
AcCmColor
& ) const;
90
virtual
Acad
::
ErrorStatus
setSubentMaterial(const
AcDbSubentId
& ,const
AcDbObjectId
& );
91
virtual
Acad
::
ErrorStatus
getSubentMaterial(const
AcDbSubentId
& ,
AcDbObjectId
& ) const;
92
virtual
Acad
::
ErrorStatus
setSubentMaterialMapper(const
AcDbSubentId
& ,const
AcGiMapper
& );
93
virtual
Acad
::
ErrorStatus
getSubentMaterialMapper(const
AcDbSubentId
& ,
AcGiMapper
&) const;
94
95
virtual
void
* ASMBodyCopy(
bool
=
false
) const;
96
virtual
void
const * getLockedASMBody();
97
virtual
void
unlockASMBody();
98
virtual
void
* getLockedWritableASMBody();
99
virtual
void
commitWritableASMBody();
100
virtual
Acad
::
ErrorStatus
setASMBody(const
void
*);
101
102
static
Acad
::
ErrorStatus
createLoftedSurface(
AcArray
<
AcDbLoftProfile
*,
AcArrayMemCopyReallocator
<
AcDbLoftProfile
*> > const &,
AcArray
<
AcDbLoftProfile
*,
AcArrayMemCopyReallocator
<
AcDbLoftProfile
*
__ptr64
> > const &,
AcDbLoftProfile
*,
AcDbLoftOptions
&,
class
AcDbSurface
* & );
103
static
Acad
::
ErrorStatus
createExtrudedSurface(
AcDb3dProfile
*, const
AcGeVector3d
&,
AcDbSweepOptions
&,
AcDbExtrudedSurface
*&);
104
static
Acad
::
ErrorStatus
createExtrudedSurface(
AcDb3dProfile
*, const
AcGeVector3d
&,
AcDbSweepOptions
&,
bool
,
AcDbObjectId
&);
105
static
Acad
::
ErrorStatus
createLoftedSurface(const
AcArray
<
AcDbLoftProfile
*>&, const
AcArray
<
AcDbLoftProfile
*>&,
AcDbLoftProfile
*,
AcDbLoftOptions
&,
bool
,
AcDbObjectId
&);
106
static
Acad
::
ErrorStatus
createPatchSurface(const
AcDbPathRef
&, const
AcDbObjectIdArray
&,
int
,
double
,
AcDbSurface
*&);
107
static
Acad
::
ErrorStatus
createPatchSurface(const
AcDbPathRef
&, const
AcDbObjectIdArray
&,
int
,
double
,
bool
,
AcDbObjectId
&);
108
static
Acad
::
ErrorStatus
createRevolvedSurface(
AcDb3dProfile
*,
AcDb3dProfile
*,
bool
,
double
,
double
,
AcDbRevolveOptions
&,
AcDbRevolvedSurface
*&);
109
static
Acad
::
ErrorStatus
createRevolvedSurface(
AcDb3dProfile
*,
AcDb3dProfile
*,
bool
,
double
,
double
,
AcDbRevolveOptions
&,
bool
,
AcDbObjectId
&);
110
static
Acad
::
ErrorStatus
createRevolvedSurface(
AcDb3dProfile
*, const
AcGePoint3d
&, const
AcGeVector3d
&,
double
,
double
,
AcDbRevolveOptions
&,
AcDbRevolvedSurface
*&);
111
static
Acad
::
ErrorStatus
createRevolvedSurface(
AcDb3dProfile
*, const
AcGePoint3d
&, const
AcGeVector3d
&,
double
,
double
,
AcDbRevolveOptions
&,
bool
,
AcDbObjectId
&);
112
static
Acad
::
ErrorStatus
createNetworkSurface(
AcArray
<
AcDb3dProfile
*>&,
AcArray
<
AcDb3dProfile
*>&,
AcDbSurface
*&);
113
static
Acad
::
ErrorStatus
createNetworkSurface(const
AcArray
<
AcDb3dProfile
*>&, const
AcArray
<
AcDb3dProfile
*>&,
bool
,
AcDbObjectId
&);
114
static
Acad
::
ErrorStatus
createSweptSurface(
AcDb3dProfile
*,
AcDb3dProfile
*,
AcDbSweepOptions
& ,
AcDbSweptSurface
*&);
115
static
Acad
::
ErrorStatus
createSweptSurface(
AcDb3dProfile
*,
AcDb3dProfile
*,
AcDbSweepOptions
& ,
bool
,
AcDbObjectId
&);
116
static
Acad
::
ErrorStatus
createBlendSurface(
AcDbLoftProfile
* ,
AcDbLoftProfile
* ,
AcDbBlendOptions
* ,
AcDbSurface
*&);
117
static
Acad
::
ErrorStatus
createBlendSurface(
AcDbLoftProfile
* ,
AcDbLoftProfile
* ,
AcDbBlendOptions
* ,
bool
,
AcDbObjectId
& );
118
static
Acad
::
ErrorStatus
createFilletSurface(const
AcDbObjectId
& ,const
AcGePoint3d
& ,const
AcDbObjectId
& ,const
AcGePoint3d
& ,
double
,
AcDb
::FilletTrimMode ,const
AcGeVector3d
& ,
AcDbSurface
*& );
119
static
Acad
::
ErrorStatus
createFilletSurface(const
AcDbObjectId
& ,const
AcGePoint3d
& ,const
AcDbObjectId
& ,const
AcGePoint3d
& ,
double
,
AcDb
::FilletTrimMode ,const
AcGeVector3d
& ,
bool
,
AcDbObjectId
& );
120
static
Acad
::
ErrorStatus
createOffsetSurface(
AcDbEntity
* ,
double
,
AcDbEntity
*& );
121
static
Acad
::
ErrorStatus
createOffsetSurface(
AcDbEntity
* ,
double
,
bool
,
AcDbObjectId
& );
122
static
Acad
::
ErrorStatus
createExtendSurface(
AcDbObjectId
, const
AcArray
<
AcDbSubentId
>& ,
double
,
EdgeExtensionType
,
bool
,
AcDbObjectId
& );
123
static
Acad
::
ErrorStatus
trimSurface(const
AcDbObjectId
&, const
AcDbObjectIdArray
&, const
AcDbObjectIdArray
&, const
AcArray
<
AcGeVector3d
>, const
AcGePoint3d
&, const
AcGeVector3d
&,
bool
,
bool
);
124
125
Acad
::
ErrorStatus
getPerimeter(
double
& ) const;
126
WireframeType
getWireframeType() const;
127
Acad
::
ErrorStatus
setWireframeType(
WireframeType
);
128
AcDbObjectId
creationActionBodyId() const;
129
Acad
::
ErrorStatus
modificationActionBodyIds(
AcDbObjectIdArray
& ) const;
130
Acad
::
ErrorStatus
extendEdges(
AcDbFullSubentPathArray
& ,
double
,
EdgeExtensionType
,
bool
);
131
Acad
::
ErrorStatus
rayTest(const
AcGePoint3d
& , const
AcGeVector3d
& ,
double
,
AcArray
<
AcDbSubentId
>& ,
AcGeDoubleArray
& ) const;
132
Acad
::
ErrorStatus
convertToNurbSurface(
AcDbNurbSurfaceArray
& );
133
134
virtual
Acad
::
ErrorStatus
dwgInFields(
AcDbDwgFiler
*);
135
virtual
Acad
::
ErrorStatus
dwgOutFields(
AcDbDwgFiler
*) const;
136
virtual
Acad
::
ErrorStatus
dxfInFields(
AcDbDxfFiler
*);
137
virtual
Acad
::
ErrorStatus
dxfOutFields(
AcDbDxfFiler
*) const;
138
virtual
Acad
::
ErrorStatus
subGetClassID(
CLSID
*) const override;
139
virtual
Acad
::
ErrorStatus
subExplode(
AcDbVoidPtrArray
&)const;
140
virtual
Acad
::
ErrorStatus
subTransformBy(
AcGeMatrix3d
const &);
141
142
virtual
bool
usesGraphicsCache();
143
};
ARX_API
#define ARX_API
Definition
_impl_include/ac1st/CommonHeader.h:21
AcDbEntity.h
AcDbNurbSurfaceArray
AcArray< AcDbNurbSurface * > AcDbNurbSurfaceArray
Definition
AcDbSurface.h:39
Acad.h
internalSubentId
ARX_API class AcDbSubentId internalSubentId(class AcDb3dSolid *, class ENTITY *)
ErrorStatus
Acad::ErrorStatus ErrorStatus
Definition
acdbabb.h:21
ACRX_DECLARE_MEMBERS
#define ACRX_DECLARE_MEMBERS(classname)
Definition
addmacro.h:756
AcArray
Definition
_AcArray.h:155
AcArrayMemCopyReallocator
Definition
_AcArray.h:443
AcArrayObjectCopyReallocator
Definition
_AcArray.h:21
AcCmColor
Definition
AcCmColor.h:32
AcDb3dProfile
Definition
AcDb3dProfile.h:26
AcDb3dSolid
Definition
AcDb3dSolid.h:48
AcDbDwgFiler
Definition
AcDbDwgFiler.h:31
AcDbDxfFiler
Definition
AcDbDxfFiler.h:28
AcDbEntity
Definition
AcDbEntity.h:56
AcDbExtrudedSurface
Definition
AcDbExtrudedSurface.h:35
AcDb
Definition
_impl_include/acdb17/acdb.h:21
AcDbLoftOptions
Definition
AcDbLoftOptions.h:26
AcDbLoftProfile
Definition
AcDbLoftProfile.h:23
AcDbNurbSurface
Definition
AcDbNurbSurface.h:32
AcDbObjectId
Definition
AcDbObjectId.h:25
AcDbPathRef
Definition
AcDbPathRef.h:27
AcDbRevolveOptions
Definition
AcDbRevolveOptions.h:26
AcDbRevolvedSurface
Definition
AcDbRevolvedSurface.h:35
AcDbSubentId
Definition
AcDbSubentId.h:26
AcDbSurface
Definition
AcDbSurface.h:42
AcDbSurface::WireframeType
WireframeType
Definition
AcDbSurface.h:45
AcDbSurface::EdgeExtensionType
EdgeExtensionType
Definition
AcDbSurface.h:50
AcDbSurface::AcDbSurface
AcDbSurface(void)
AcDbSweepOptions
Definition
AcDbSweepOptions.h:29
AcDbSweptSurface
Definition
AcDbSweptSurface.h:34
AcDbSystemInternals
Definition
AcDbSystemInternals.h:29
AcGeMatrix3d
Definition
AcGeMatrix3d.h:29
AcGePlane
Definition
AcGePlane.h:29
AcGePoint3d
Definition
AcGePoint3d.h:27
AcGeVector3d
Definition
AcGeVector3d.h:31
AcGiMapper
Definition
AcGiMapper.h:24
AcRxClass
Definition
AcRxClass.h:22
_IID
Definition
FxApplication_i_ac.c:50
Generated on Mon Mar 4 2024 12:50:07