FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGiSubEntityTraits.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 "..\acad\Acad.h"
20#include "..\AddStruct.h"
21
22class AcDbObjectId;
23class AcGiEdgeStyle;
24class AcRxClass;
25
27{
28public:
30 {
31 kNoDrawFlags = 0x0000,
32 kDrawBackfaces = 0x0001,
33 kDrawHatchGroup = 0x0002,
34 kDrawFrontfacesOnly = 0x0004,
35 kDrawGradientFill = 0x0008,
36 kDrawSolidFill = 0x0010,
37 kDrawNoLineWeight = 0x0020,
38 kDrawNoOptimization = 0x0040,
39 kDrawNoPlotstyle = 0x0080,
40 kDrawFillTextBoundaryStart = 0x0100,
41 kDrawFillTextBoundaryEnd = 0x0200,
42 kDrawFillSelectionWindow = 0x0400,
43 kDrawNoForceByLayerkDrawNoForceByLayer = 0x0800,
44
45 kDrawContourFill = 0x08000,
46 kDisableLayoutCache = 0x10000,
47 kDrawBoundaryForClipping = 0x20000,
48
49 kDrawBoundaryForClippingDrw = 0x40000,
50 kClipSetIsEmpty = 0x80000,
51 kDrawPolygonFill = 0x100000,
52 kExcludeFromViewExt = 0x200000,
53 kDrawDgLsPolyWithoutBreaks = 0x400000,
54 kPolygonProcessing = 0x800000,
55 kDisableAutoGenerateNormals = 0x1000000,
56 kDisableFillModeCheck = 0x2000000,
57 kDrawUnderlayReference = 0x4000000,
58 kLineStyleScaleOverride = 0x8000000,
59 kDisableDisplayClipping = 0x10000000,
60 kRegenTypeDependent2dDraw = 0x20000000,
61 kInternalDrawFlags = kDisableLayoutCache | kClipSetIsEmpty | kRegenTypeDependent2dDraw,
62 kDrawGeometryForExtents = 0x04000,
63 kFxNoFillOnSelect = 0x40000000,
64
65 kInheritableDrawFlags = kDrawNoLineWeight | kDrawNoPlotstyle | kDrawBoundaryForClipping | kDrawBoundaryForClippingDrw |
66 kInternalDrawFlags | kExcludeFromViewExt | kDrawBackfaces | kDrawFrontfacesOnly | kDisableDisplayClipping | kRegenTypeDependent2dDraw
67
68 };
69
71 {
72 kShadowsCastAndReceive = 0,
73 kShadowsDoesNotCast = 1,
74 kShadowsDoesNotReceive = 2,
75 kShadowsIgnore = kShadowsDoesNotCast | kShadowsDoesNotReceive
76 };
77
79 {
80 kNoSelectionFlags = 0,
81 kSelectionIgnore = 1,
82 kHighlightingGeometry = 2,
83 kHiddenInHighlight = 4,
84 kFxSubentitySelection = 0x80
85 };
86
88
89 virtual bool sectionable(void)const ;
90 virtual AcDbObjectId visualStyle(void)const ;
91 virtual Acad::ErrorStatus edgeStyleOverride(unsigned int &, AcGiEdgeStyle &)const ;
92 virtual Acad::ErrorStatus setEdgeStyleOverride(unsigned int, AcGiEdgeStyle const &);
93 virtual void setSectionable(bool);
95
97 virtual void setColor( short );
98 virtual void setLayer( const AcDbObjectId );
99 virtual AcGiFillType fillType() const;
100 virtual void setFillType( AcGiFillType const );
101 virtual Adesk::UInt16 color() const;
102
103 virtual void setLineType( const AcDbObjectId);
104 virtual void setLineWeight(const AcDb::LineWeight );
105
107
108 virtual void setTrueColor( const AcCmEntityColor& );
109 virtual void setTransparency(const AcCmTransparency&);
110 virtual void setThickness(double);
111
112 virtual AcDb::LineWeight lineWeight(void) const;
113 virtual AcCmEntityColor trueColor(void) const;
114 virtual AcDbObjectId layerId(void) const;
115 virtual double thickness(void) const;
116 virtual void setMaterial(const AcDbObjectId);
117 virtual void setLineTypeScale(double = 1.0);
118 virtual double lineTypeScale() const;
119 virtual AcCmTransparency transparency(void) const;
120
121 virtual bool selectionGeom() const;
122 virtual void setSelectionGeom( bool );
123 virtual Acad::ErrorStatus setDrawFlags( unsigned long );
124 virtual unsigned long drawFlags( void ) const;
125};
virtual double thickness(void) const
virtual void setColor(short)
virtual bool sectionable(void) const
virtual void setMaterial(const AcDbObjectId)
virtual Adesk::UInt16 color() const
virtual bool selectionGeom() const
virtual AcGiFillType fillType() const
virtual Acad::ErrorStatus setDrawFlags(unsigned long)
virtual double lineTypeScale() const
AcDbObjectId lineTypeId(void) const
virtual unsigned long drawFlags(void) const
virtual AcDb::LineWeight lineWeight(void) const
virtual void setTrueColor(const AcCmEntityColor &)
virtual Acad::ErrorStatus setEdgeStyleOverride(unsigned int, AcGiEdgeStyle const &)
virtual AcDbObjectId layerId(void) const
virtual AcDbObjectId visualStyle(void) const
virtual void setSelectionMarker(Adesk::LongPtr const)
virtual void setSectionable(bool)
virtual AcCmEntityColor trueColor(void) const
virtual void setLineWeight(const AcDb::LineWeight)
virtual void setLayer(const AcDbObjectId)
virtual void setTransparency(const AcCmTransparency &)
virtual void setSelectionGeom(bool)
virtual void setLineTypeScale(double=1.0)
virtual AcCmTransparency transparency(void) const
virtual void setThickness(double)
virtual Acad::ErrorStatus edgeStyleOverride(unsigned int &, AcGiEdgeStyle &) const
virtual void setVisualStyle(AcDbObjectId)
virtual void setFillType(AcGiFillType const)
virtual void setLineType(const AcDbObjectId)
ACRX_DECLARE_MEMBERS(AcGiSubEntityTraits)