CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
24 #ifndef __OD_GI_BASE_VECTORIZER_IMPL_H_
25 #define __OD_GI_BASE_VECTORIZER_IMPL_H_
170 #ifdef ENABLE_GITRAITSOPTIMIZATION
185 void setLinetypesEnabled(
bool bEnable);
186 bool isLinetypesEnabled()
const;
206 double lineweightToPixels(
double lineweight)
const;
208 bool hasLineweightOverride()
const;
209 bool hasLinestyleOverride()
const;
228 bool includePerspective =
true)
const;
247 OdDbStub* layerId)
const;
306 inline bool isOutputSuppressed()
const;
313 bool isSupportPlotStyles()
const;
320 double lineweightToPixelsOverride(
OdDb::LineWeight lineweight,
bool bAbsolute =
false)
const;
333 void updateXlineNRayClipper();
334 void onModelToEyeChanged();
359 mutable int m_nPenIndex;
360 mutable OdDbStub* m_psnId;
389 kLastOptionFlag = kLinestyleOverride
396 kSectionableGeomEnabled = kFirstImplFlag << 0,
397 kLastImplFlag = kSectionableGeomEnabled
402 template<
typename T,
typename>
408 operator int()
const;
410 template <
typename T> T
get()
const {
415 template <
class _DataTy,
class _TraitsTy >
426 template <
class _DataTy,
class _TraitsTy >
438 dict->
remove( Traits::key() );
456 bool isNull = val.isNull();
459 return isNull ? ( _DataTy )Traits::getNull() : val.identity<
OdRxVariantValue, _DataTy >::type::operator _DataTy();
472 template <
class _DataTy,
class _TraitsTy >
474 :
public CFxDeviceProperty< _DataTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > >
478 template <
class _DataTy,
class _StorageTy,
class _TraitsTy >
480 :
public CFxDeviceProperty< _StorageTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > >
490 _StorageTy stor(val);
495 template <
class _DataTy,
class _TraitsTy,
class _PtrTy = OdUInt64 >
497 :
public CFxDeviceProperty< _PtrTy, CFxPropertyIntegralTraits< _DataTy *, _TraitsTy > >
508 p =
new _DataTy( def );
560 CFxRenderHints() : geomDpi( 0 ), colorImgDpi( 0 ), bwImgDpi( 0 ), deviceToMmRatio( 1., 1. )
619 return &m_lwdOverrideStack.
last();
635 #endif // __OD_GI_BASE_VECTORIZER_IMPL_H_
#define GETBIT(flags, bit)
virtual OdGeMatrix3d getModelToEyeTransform() const
int lineweightToPixels(OdDb::LineWeight lineweight) const
OdGiContext::PStyleType m_pstype
virtual OdGiRegenType regenType() const
CFxDeviceProperty< _PtrTy, CFxPropertyIntegralTraits< _DataTy *, _TraitsTy > > Base
int lineweightToPixelsOverrideInt(OdDb::LineWeight lineweight) const
virtual void endViewVectorization()
virtual OdGeMatrix3d getWorldToEyeTransform() const
virtual void mesh(OdInt32 numRows, OdInt32 numColumns, const OdGePoint3d *vertexList, const OdGiEdgeData *pEdgeData=0, const OdGiFaceData *pFaceData=0, const OdGiVertexData *pVertexData=0)
OdGiOrthoClipperPtr m_pXlineNRayClipper
OdGiConveyorEmbranchmentPtr m_pOutputBranch
virtual OdGeMatrix3d getModelToWorldTransform() const
virtual OdGeMatrix3d getWorldToModelTransform() const
const OdGiLineweightOverride * currentLineweightOverride() const
double lineweightToPixelsOverride(double lineweight, bool bAbsolute=false) const
static _DataTy * allocateAt(OdGsDevice *device)
virtual void xline(const OdGePoint3d &firstPoint, const OdGePoint3d &secondPoint)
virtual void popModelTransform()
virtual void beginViewVectorization()
virtual OdUInt32 setupForEntity() const
OdCmTransparency m_sectForegroundEdge
virtual OdGeMatrix3d objectToDeviceMatrix() const
OdGiDrawablePtr m_liveSection
const OdGiDrawable * liveSection() const
OdGeVector2d deviceToMmRatio
virtual OdRxObjectPtr putAt(const OdString &key, OdRxObject *pObject, OdUInt32 *pRetId=0)=0
virtual OdUInt32 sequenceNumber() const
virtual OdGiViewport & viewport() const
virtual double deviation(const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve) const
virtual bool enabled() const =0
static _DataTy fromDevice(OdGsDevice *device, bool *isValid=0)
virtual OdGePoint3d getCameraTarget() const
static void toDevice(OdGsDevice *device, const _DataTy &val)
static void toDevice(OdGsDevice *device, const _DataTy *val)
int lineweightToPixels(OdDb::LineWeight lineweight) const
virtual bool isValidId(const OdUInt32 viewportId) const
const OdGiContextualColors * contextualColors() const
OdGeMatrix3d worldToModelTransform() const
static _DataTy fromDevice(OdGsDevice *device, bool *isValid=0)
virtual bool layerVisible(OdDbStub *layerId) const
virtual OdGeVector3d viewDir() const
virtual OdDbStub * viewportObjectId() const
bool hasLinestyleOverride() const
virtual void pushModelTransform(const OdGeMatrix3d &xfm)
virtual void setFillPlane(const OdGeVector3d *pNormal=0)
virtual const OdGiViewport * giViewport() const
const OdPsPlotStyleData & effectivePlotStyle() const
OdGiLinetypeRedirPtr m_pLinetyper
virtual OdGePoint3d getCameraLocation() const
OdUInt32 m_setAttributesHints
virtual OdRxObjectPtr getAt(const OdString &key) const =0
virtual bool getFrontAndBackClipValues(bool &clipFront, bool &clipBack, double &front, double &back) const
virtual double linetypeScaleMultiplier() const
virtual bool isPerspective() const
OdUInt32 awareFlags() const
virtual double linetypeGenerationCriteria() const
virtual void updateLineweightOverride(const OdGiLineweightOverride &lwdOverride)
bool isOutputSuppressed() const
bool useFillPlane() const
virtual const OdGiLineweightOverride * currentLineweightOverride() const
static _DataTy * allocateAt(OdGsDevice *device, const _DataTy &def)
static void toDevice(OdGsDevice *device, const _DataTy &val)
virtual OdGeMatrix3d getEyeToModelTransform() const
static void removeFromDevice(OdGsDevice *device)
bool isLinetypesEnabled() const
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)
OdGsView::RenderMode getRenderMode() const
virtual bool doPerspective(OdGePoint3d &point) const
ODRX_USING_HEAP_OPERATORS(OdGiBaseVectorizer)
virtual void setFillType(OdGiFillType fillType)
virtual const OdGsView * gsView() const
static const OdString key()
OdGeMatrix3d m_objectToDeviceMatrix
OdRxObjectPtr m_sectionGeometryMap
OdGsViewImpl & view() const
virtual void pushModelTransform(const OdGeVector3d &normal)
static const OdString key()
CFxDeviceProperty< _StorageTy, CFxPropertyIntegralTraits< _DataTy, _TraitsTy > > _BaseTy
virtual OdUInt32 viewportId() const
virtual double annotationScale() const
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &point, OdGePoint2d &pixelDensity, bool includePerspective=true) const
virtual bool doInversePerspective(OdGePoint3d &point) const
OdCmTransparency m_sectForegroundFace
#define GS_TOOLKIT_EXPORT
virtual void onTraitsModified()
static void deallocateAt(OdGsDevice *device)
virtual void getViewportDcCorners(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
void setLinetypesEnabled(bool bEnable)
virtual void setExtents(const OdGePoint3d *newExtents)
virtual void popLineweightOverride()
OdRxObjectPtr m_pGsReserved
OdGiConveyorEntryPoint m_xlineNRayEntryPoint
void clearLinetypeCache()
double lineweightToPixelsOverride(OdDb::LineWeight lineweight, bool bAbsolute=false) const
virtual bool pushLineweightOverride(const OdGiLineweightOverride *pOverride)
virtual OdRxDictionaryPtr properties()=0
virtual OdGeVector3d getCameraUpVector() const
OdGeMatrix3d modelToWorldTransform() const
void resetEntityTraitsData()
virtual void affectTraits(const OdGiSubEntityTraitsData *pSource, OdGiSubEntityTraitsData &destination) const
static _DataTy * fromDevice(OdGsDevice *device, bool *isValid=0)
bool isSupportPlotStyles() const
virtual OdGeMatrix3d getEyeToWorldTransform() const
virtual OdRxObjectPtr remove(const OdString &key)=0
virtual void ray(const OdGePoint3d &basePoint, const OdGePoint3d &throughPoint)
bool isEffectiveLinetypeContinuous() const
OdPsPlotStyleData m_plotStyle
bool hasLineweightOverride() const
void setModelSection(OdGiDrawable *pSection, bool bUseSectionGeometryMap)
virtual OdInt16 acadWindowId() const
virtual void setUp(OdGsViewImpl &view)