CFx SDK Documentation  2023 SP0
BrFace.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 _INC_DDBRFACE_3F82D5A203C8_INCLUDED
27 #define _INC_DDBRFACE_3F82D5A203C8_INCLUDED
28 
29 #include "Br/BrEntity.h"
30 #include "Br/BrEnums.h"
31 #include "Ge/GeSurface.h"
32 #include "Ge/GeNurbSurface.h"
33 
34 #include "TD_PackPush.h"
35 
36 class OdCmEntityColor;
38 
51 {
52 public:
53 
60 
65 
71 
76  bool getOrientToSurface() const;
84  bool getColor(OdCmEntityColor &color) const;
85 
93  bool getMaterialID(OdUInt64 &id) const;
94 
102  bool getMaterialString(OdString& strMatName) const;
103 
116  {
117  kInheritProjection = 0, // Inherits *projection* from the current material's mapper.
118  kPlanar = 1, // Maps directly to XY coordinates.
119  kBox = 2, // Maps to planes perpendicular to major axes.
120  kCylinder = 3, // Maps to cylinder aligned with Z-axis.
121  kSphere = 4 // Maps to sphere aligned with Z-axis
122  };
123 
124  enum Tiling
125  {
126  kInheritTiling = 0, // Inherits *tiling* from the current material's mapper.
127  kTile = 1, // Repeats map along image axes.
128  kCrop = 2, // Crops map < 0.0 or > 1.0 on image axes.
129  kClamp = 3, // Clamps (stretches) map between 0.0 and 1.0 on image axes.
130  kMirror = 4 // Mirror the material map at every integer boundary.
131  };
132 
134  {
135  kInheritAutoTransform = 0x0, // Inherits automatic *transform* from the current material/s mapper.
136  kNone = 0x1, // No automatic *transform*.
137  kObject = 0x2, // Adjusts the mapper *transform* to align with and fit the current object.
138  kModel = 0x4 // Multiples the mapper *transform* by the current block *transform*.
139  };
140 
141  bool getMaterialMapper(OdGeMatrix3d &mx, Projection &projection, Tiling& tiling, AutoTransform &autoTransform) const;
142 
144 
145  bool getFillPatternId(OdUInt64 &id) const;
146 
147  bool getFillingAttributes(OdGePoint2d &origin, OdGeVector2d &dir) const;
148 
150 
152 };
153 
154 #include "TD_PackPop.h"
155 
156 #endif /* _INC_DDBRFACE_3F82D5A203C8_INCLUDED */
157 
OdBrErrorStatus
Definition: BrEnums.h:41
#define ODBR_TOOLKIT_EXPORT
Definition: BrExport.h:39
unsigned int OdUInt32
bool getOrientToSurface() const
bool getMaterialString(OdString &strMatName) const
OdBrErrorStatus getSurfaceAsNurb(OdGeNurbSurface &nurb) const
OdBrErrorStatus getSurfaceType(OdGe::EntityId &surfaceType) const
OdBrErrorStatus getSurfaceAsTrimmedNurbs(OdUInt32 &numNurbs, OdGeExternalBoundedSurface **&ppNurbs) const
bool getMaterialID(OdUInt64 &id) const
bool getColor(OdCmEntityColor &color) const
bool getMaterialMapper(OdGeMatrix3d &mx, Projection &projection, Tiling &tiling, AutoTransform &autoTransform) const
bool getFillPatternId(OdUInt64 &id) const
OdGeSurface * getSurface() const
bool getFillingAttributes(OdGePoint2d &origin, OdGeVector2d &dir) const
Projection
Definition: BrFace.h:116
AutoTransform
Definition: BrFace.h:134
@ kBox
Definition: AveDefs.h:119
@ kCylinder
Definition: AveDefs.h:120
@ kSphere
Definition: AveDefs.h:121
@ kPlanar
Definition: DbEntity.h:76
@ kNone
Light mode is inherited from the annotation.
EntityId
Definition: Ge.h:53