24#ifndef __OD_GI_BASE_VECTORIZER_IMPL_H_
25#define __OD_GI_BASE_VECTORIZER_IMPL_H_
179#ifdef ENABLE_GITRAITSOPTIMIZATION
428 bool includePerspective =
true)
const;
523 OdDbStub* layerId)
const;
864 inline bool isOutputSuppressed()
const;
938 void updateXlineNRayClipper();
942 void onModelToEyeChanged();
1027 mutable int m_nPenIndex;
1028 mutable OdDbStub* m_psnId;
1075template<
typename T,
typename>
1078template <
class _DataTy,
class _TraitsTy >
1085 return _DataTy( 0 );
1089template <
class _DataTy,
class _TraitsTy >
1101 dict->
remove( Traits::key() );
1119 bool isNull = val.
isNull();
1122 return isNull ? ( _DataTy )Traits::getNull() : val.identity<
OdRxVariantValue, _DataTy >::type::operator _DataTy();
1135template <
class _DataTy,
class _TraitsTy >
1137 :
public CFxDeviceProperty< _DataTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > >
1141template <
class _DataTy,
class _StorageTy,
class _TraitsTy >
1143 :
public CFxDeviceProperty< _StorageTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > >
1153 _StorageTy stor(val);
1158template <
class _DataTy,
class _TraitsTy,
class _PtrTy = OdUInt64 >
1160 :
public CFxDeviceProperty< _PtrTy, CFxPropertyIntegralTraits< _DataTy *, _TraitsTy > >
1171 p =
new _DataTy( def );
1292 return &m_lwdOverrideStack.last();
OdSmartPtr< OdGiDrawable > OdGiDrawablePtr
OdSmartPtr< OdGiConveyorEmbranchment > OdGiConveyorEmbranchmentPtr
OdSmartPtr< OdGiLinetypeRedir > OdGiLinetypeRedirPtr
OdSmartPtr< OdGiOrthoClipper > OdGiOrthoClipperPtr
OdSmartPtr< OdGiPostTransform > OdGiPostTransformPtr
OdSmartPtr< OdRxDictionary > OdRxDictionaryPtr
#define GS_TOOLKIT_EXPORT
#define SETBIT(flags, bit, value)
#define GETBIT(flags, bit)
#define SETBIT_1(flags, bit)
static _DataTy fromDevice(OdGsDevice *device, bool *isValid=0)
static void toDevice(OdGsDevice *device, const _DataTy &val)
static void removeFromDevice(OdGsDevice *device)
static void toDevice(OdGsDevice *device, const _DataTy &val)
CFxDeviceProperty< _StorageTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > > _BaseTy
static _DataTy fromDevice(OdGsDevice *device, bool *isValid=0)
static _DataTy * allocateAt(OdGsDevice *device, const _DataTy &def)
CFxDeviceProperty< _PtrTy, CFxPropertyIntegralTraits< _DataTy *, _TraitsTy > > Base
static _DataTy * fromDevice(OdGsDevice *device, bool *isValid=0)
static void toDevice(OdGsDevice *device, const _DataTy *val)
static void deallocateAt(OdGsDevice *device)
static _DataTy * allocateAt(OdGsDevice *device)
static const OdString key()
static const OdString key()
OdGeVector2d deviceToMmRatio
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
virtual void setEntityTraitsDataChanged()
OdGiOrthoClipperPtr m_pXlineNRayClipper
OdCmTransparency m_sectForegroundFace
bool isMultiplyLineStyleScale() const
virtual OdGeMatrix3d getWorldToEyeTransform() const
bool isLinetypesEnabled() const
virtual OdGeMatrix3d getEyeToModelTransform() const
int lineweightToPixels(OdDb::LineWeight lineweight) const
virtual void popPaletteOverride()
virtual OdDbStub * viewportObjectId() const
bool isViewSectioningSkipped() const
int vectorizingFlags() const
bool hasLineweightOverride() const
@ kSectionForegroundGeometry
@ kDisableInfiniteGeomExtents
@ kSectionableGeomExtentsOnly
OdGeMatrix3d m_objectToDeviceMatrix
OdGsView::RenderMode getRenderMode() const
virtual void mesh(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
OdGiDrawablePtr m_liveSection
int lineweightToPixelsOverrideInt(OdDb::LineWeight lineweight) const
bool isOutputSuppressed() const
const OdGiLineweightOverride * currentLineweightOverride() const
OdRxObjectPtr m_sectionGeometryMap
virtual const OdGeMatrix3d & metafileTransform() const
virtual double linetypeGenerationCriteria() const
virtual void updatePaletteOverride(const OdGiPalette *pPalette)
virtual const OdGiViewport * giViewport() const
virtual bool hasPaletteOverrides() const
virtual void getViewportDcCorners(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
virtual void popModelTransform()
void setModelSection(OdGiDrawable *pSection, bool bUseSectionGeometryMap)
bool isSupportPlotStyles() const
virtual OdInt16 acadWindowId() const
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &point, OdGePoint2d &pixelDensity, bool includePerspective=true) const
virtual bool pushPaletteOverride(const OdGiPalette *pOverride)
virtual double deviation(const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve) const
virtual OdDbStub * annotationScaleId() const
void setVectorizingFlags(int flags)
virtual OdGiRegenType regenType() const
virtual OdGePoint3d getCameraLocation() const
ODCOLORREF paletteColor(OdInt16 colorIndex) const
OdGeMatrix3d worldToModelTransform() const
virtual bool pushLineweightOverride(const OdGiLineweightOverride *pOverride)
virtual void onTraitsModified()
virtual void setExtents(const OdGePoint3d *newExtents)
virtual OdGeMatrix3d getWorldToModelTransform() const
bool isEffectiveLinetypeContinuous() const
virtual const OdGiSubEntityTraitsData & effectiveTraits() const
virtual OdUInt32 viewportId() const
virtual void setFillType(OdGiFillType fillType)
virtual void shell(OdInt32 numVertices, const OdGePoint3d *vertexList, OdInt32 faceListSize, const OdInt32 *faceList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
struct OdGiBaseVectorizerImpl::AwareFlagsHandler m_awareFlags
virtual bool doPerspective(OdGePoint3d &point) const
OdPsPlotStyleData m_plotStyle
ODCOLORREF paletteColor(OdUInt16 colorIndex) const
virtual void affectTraits(const OdGiSubEntityTraitsData *pSource, OdGiSubEntityTraitsData &destination) const
bool useFillPlane() const
virtual OdUInt32 sequenceNumber() const
bool hasLinestyleOverride() const
OdGiPostTransformPtr m_pPostTransform
double lineweightToPixelsOverride(OdDb::LineWeight lineweight, bool bAbsolute=false) const
OdUInt32 m_setAttributesHints
ODRX_USING_HEAP_OPERATORS(OdGiBaseVectorizer)
virtual void setFillPlane(const OdGeVector3d *pNormal=0)
@ kMultiplyLinestyleScale
@ kSectionableGeomEnabled
virtual void xline(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
void clearLinetypeCache()
virtual OdGeMatrix3d getEyeToWorldTransform() const
OdGiLinetypeRedirPtr m_pLinetyper
virtual double annotationScale() const
const OdGiDrawable * liveSection() const
virtual void popLineweightOverride()
virtual OdGeMatrix3d getModelToWorldTransform() const
OdGiConveyorEmbranchmentPtr m_pOutputBranch
virtual bool getFrontAndBackClipValues(bool &clipFront, bool &clipBack, double &front, double &back) const
virtual OdDbStub * visualStyle() const
OdGeMatrix3d modelToWorldTransform() const
OdGsViewImpl & view() const
virtual void pushModelTransform(const OdGeVector3d &normal)
virtual void setUp(OdGsViewImpl &view)
const OdGiContextualColors * contextualColors() const
void setLinetypesEnabled(bool bEnable)
virtual OdUInt32 setupForEntity() const
virtual void beginViewVectorization()
virtual OdGiViewport & viewport() const
virtual OdGeMatrix3d getModelToEyeTransform() const
virtual OdGeVector3d getCameraUpVector() const
OdUInt32 awareFlags() const
OdCmTransparency m_sectForegroundEdge
virtual OdGePoint3d getCameraTarget() const
virtual bool layerVisible(OdDbStub *layerId) const
bool hasPaletteOverride() const
OdGiConveyorEntryPoint m_xlineNRayEntryPoint
virtual void pushModelTransform(const OdGeMatrix3d &xfm)
const OdPsPlotStyleData & effectivePlotStyle() const
virtual OdGeVector3d viewDir() const
virtual const OdGsView * gsView() const
double lineweightToPixelsOverride(double lineweight, bool bAbsolute=false) const
virtual void endViewVectorization()
virtual void updateLineweightOverride(const OdGiLineweightOverride &lwdOverride)
virtual double linetypeScaleMultiplier() const
virtual bool isValidId(const OdUInt32 viewportId) const
virtual void ray(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
const ODCOLORREF * getPalette(int *pNumColors=NULL) const
virtual bool isPerspective() const
virtual bool doInversePerspective(OdGePoint3d &point) const
OdGiContext::PStyleType m_pstype
void setSkipViewSectioning(bool bEnable)
virtual OdGeMatrix3d objectToDeviceMatrix() const
OdRxObjectPtr m_pGsReserved
virtual const OdGiLineweightOverride * currentLineweightOverride() const
OdGiFillType fillType() const
virtual OdRxDictionaryPtr properties()=0
int lineweightToPixels(OdDb::LineWeight lineweight) const
virtual OdRxObjectPtr getAt(const OdString &key) const =0
virtual OdRxObjectPtr remove(const OdString &key)=0
virtual OdRxObjectPtr putAt(const OdString &key, OdRxObject *pObject, OdUInt32 *pRetId=0)=0
bool getFlag(OdUInt32 nFlag) const
void swapAndSet(OdUInt32 nFlag)
void setFlag(OdUInt32 nFlag, bool bSet)
OdUInt32 m_nAffectAwareFlags
void setFlag(OdUInt32 nFlag)