24#ifndef ODGSBASEINCLUDE_INC
25#define ODGSBASEINCLUDE_INC
50template <
class BaseVectorizerObject>
69#if !defined(_MSC_VER) || (_MSC_VER < 1600)
106 OdGePoint2d& pixelArea,
bool includePerspective =
true)
const
171template <
class BaseVectorizerObject>
257#define MT_VECT_VIEWMTH(mthSem, mthCall) \
260 if (&view() != this) \
262 OdGsViewImpl::mthCall; \
264#define MT_VECT_VIEWMTH_RET(mthSem, mthCall) \
267 if (&view() != this) \
268 return view().mthCall; \
269 return OdGsViewImpl::mthCall; \
413 getDeviation(deviationType, pointOnCurve, bRecalculate))
446#undef MT_VECT_VIEWMTH_RET
447#undef MT_VECT_VIEWMTH
490 return (&view() !=
this);
501template <
int SyncCount = 4>
524 void check(
int nSyncObjects) {
if (nSyncObjects != SyncCount)
throw OdError(eOutOfRange); }
532 : m_syncPoint(syncPoint), m_syncType(syncType)
534 m_syncPoint.
lock(m_syncType);
538 m_syncPoint.
unlock(m_syncType);
#define IMPL_VECTORIZER_DEFAULT()
#define ODRX_USING_HEAP_OPERATORS(T)
#define OdSaveStateFlag(type, flag, name, flags, newVal)
FIRSTDLL_EXPORT ThreadsCounter & odThreadsCounter()
int lineweightToPixels(OdDb::LineWeight lineweight) const
bool isSupportPlotStyles() const
void clearLinetypeCache()
OdGsViewImpl & view() const
virtual OdGeMatrix3d objectToDeviceMatrix() const
void unlock(SyncType nSync)
OdGsBaseDeviceMTHelpers()
void lock(SyncType nSync)
SyncHelper(OdGsBaseDeviceMTHelpersTemplate &syncPoint, OdUInt32 syncType)
void unlock(OdUInt32 nSync)
void check(int nSyncObjects)
OdMutexPtr m_locker[SyncCount]
void lock(OdUInt32 nSync)
void setEnabled(bool bEnable)
OdGsBaseDeviceMTHelpersTemplate()
OdGsBaseDeviceMTSyncHelper(OdGsBaseDeviceMTHelpers &syncPoint, OdGsBaseDeviceMTHelpers::SyncType syncType)
OdGsBaseVectorizeViewDef()
virtual OdGiContext * userGiContext() const
OdGsBaseVectorizeViewJoin()
void setVisualStyle(const OdGiVisualStyle &visualStyle)
void updateGeometryByDevice()
int lineweightToPixels(OdDb::LineWeight lineweight) const
OdGeMatrix3d objectToDeviceMatrix() const
bool isSupportPlotStyles() const
ODRX_USING_HEAP_OPERATORS(BaseVectorizerObject)
virtual void clearLinetypeCache()
double lineweightToPixels(double lineweight) const
OdGsBaseVectorizeViewJoinMT()
virtual void releaseVectorizer(OdGsBaseVectorizer *)
virtual OdUInt32 numVectorizers() const
OdArray< OdGsViewPtr > m_vectorizers
virtual OdGsBaseVectorizer * getVectorizer(bool)
OdGsBaseVectorizeViewMT()
virtual void setUp(OdGsViewImpl &view)
virtual OdRxDictionaryPtr properties()=0
virtual void setUserGiContext(OdGiContext *pUserGiContext)=0
virtual OdGsDevice * device() const =0
virtual OdGsViewPtr cloneView(bool cloneViewParameters=true, bool cloneGeometry=false)=0
OdUInt32 viewportId() const
const OdGePoint2d & dcScreenMin() const
virtual void invalidateCachedViewportGeometry()
virtual OdGiRegenType getRegenType() const
OdGsClientViewInfo m_viewInfo
const OdGeMatrix3d & eyeToWorldMatrix() const
virtual double getDeviation(const OdGiDeviationType deviationType, const OdGePoint3d &pointOnCurve, bool bRecalculate=false) const
bool isDependentViewportView() const
double windowAspect() const
virtual OdGePoint3d position() const
virtual OdGePoint3d target() const
virtual OdGeMatrix3d screenMatrix() const
OdDbStub * getViewportObjectId() const
bool isLayerVisible(OdDbStub *layerId) const
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &givenWorldpt, OdGePoint2d &pixelArea, bool includePerspective=true) const
const OdGiContextualColors * contextualColors() const
virtual OdDbStub * background() const
void screenRectNorm(OdGsDCRect &normalizedRect) const
OdGsDCRectArray invalidRects(OdGsOverlayId nOverlay=kGsMainOverlay) const
virtual bool isValid() const
const OdGePoint2d & dcScreenMax() const
virtual void cullingVolumeTransformBy(const OdGeMatrix3d &xfm)
virtual OdGeVector3d upVector() const
double getLinetypeGenerationCriteria() const
OdGeMatrix3d perspectiveMatrix() const
virtual bool cullingVolumeIntersectWithOpt(const OdGsCullingPrimitive &prim) const
void invalidateRegion(const OdGiPathNode &path)
OdGsPropertiesPtr getViewportPropertiesRoot() const
double focalLength() const
void screenRect(OdGsDCPoint &lowerLeft, OdGsDCPoint &upperRight) const
virtual bool isPerspective() const
virtual double lineweightToDcScale() const
double linetypeAlternateScaleMultiplier() const
virtual double lensLength() const
ClearColor clearColor() const
virtual void getViewportBorderProperties(ODCOLORREF &color, int &width) const
virtual RenderMode mode() const
virtual OdGeMatrix3d projectionMatrix() const
const OdGeMatrix3d & worldToEyeMatrix() const
const OdGeMatrix3d & rotationMatrix() const
virtual void viewportClipRegion(OdIntArray &counts, OdGePoint2dArray &vertices) const
bool isViewportOnScreen() const
virtual void setVisualStyle(OdDbStub *visualStyleId)
virtual void invalidate()
virtual double frontClip() const
double getLinetypeScaleMultiplier() const
double calcDeviation(const OdGiDeviationType type, const OdGePoint3d &pt) const
OdUInt32 frozenLayers() const
virtual double fieldWidth() const
bool doPerspectivePt(OdGePoint3d &point) const
virtual void getViewport(OdGePoint2d &lowerLeft, OdGePoint2d &upperRight) const
virtual bool isStereoEnabled() const
virtual bool isCullingVolumeInitialized() const
bool isRegenOnDrawForbidden() const
bool isHelperView() const
int cachedDrawables() const
virtual bool isBackClipped() const
virtual OdGeMatrix3d worldToDeviceMatrix() const
virtual bool pointInViewport(const OdGePoint2d &screenPoint) const
virtual double fieldHeight() const
double unrotatedFieldHeight() const
OdGsCullingVolumePtr cullingVolume() const
virtual OdGsCullingVolume::IntersectionStatus cullingVolumeIntersectWith(const OdGsCullingPrimitive &prim) const
virtual bool isFrontClipped() const
bool updateViewportProperties(OdUInt32 incFlags)
short viewportRotation() const
bool doInversePerspectivePt(OdGePoint3d &point) const
OdGsViewLocalId & getViewLocalId()
virtual double backClip() const
virtual OdGeMatrix3d viewingMatrix() const
void viewportDcCorners(OdGePoint2d &lower_left, OdGePoint2d &upper_right) const
const OdGePoint2d & dcLowerLeft() const
virtual bool isViewportBorderVisible() const
bool isDependentGeometryView() const
OdGeMatrix3d eyeToScreenMatrix(OdGsOverlayId nOverlay=kGsMainOverlay) const
OdGsPropertiesPtr getViewportPropertiesForType(OdGsProperties::PropertiesType type) const
virtual void getStereoParameters(double &magnitude, double ¶llax) const
bool isCompletelyVisible() const
const OdGePoint2d & dcUpperRight() const
virtual OdDbStub * visualStyle() const
OdUInt32 localViewportId(const OdGsBaseModel *pModel) const
double unrotatedFieldWidth() const
const OdGeVector3d & xVector() const
bool isNonRectClipped() const
OdGsBaseVectorizeDevice * baseDevice()
const OdGeVector3d & eyeVector() const
virtual double linetypeScaleMultiplier() const
virtual OdRxObjectPtr getAt(const OdString &key) const =0
virtual bool has(const OdString &key) const =0
GLint GLenum GLsizei width
GLuint GLsizei GLsizei GLint GLenum * type