24 #ifndef ODGSBASEINCLUDE_INC
25 #define ODGSBASEINCLUDE_INC
50 template <
class BaseVectorizerObject>
63 #if !defined(_MSC_VER) || (_MSC_VER < 1600)
83 OdGePoint2d& pixelArea,
bool includePerspective =
true)
const
123 template <
class BaseVectorizerObject>
187 #define MT_VECT_VIEWMTH(mthSem, mthCall) \
190 if (&view() != this) \
192 OdGsViewImpl::mthCall; \
194 #define MT_VECT_VIEWMTH_RET(mthSem, mthCall) \
197 if (&view() != this) \
198 return view().mthCall; \
199 return OdGsViewImpl::mthCall; \
343 getDeviation(deviationType, pointOnCurve, bRecalculate))
346 #ifdef ODGS_LOCAL_IDS
347 MT_VECT_VIEWMTH_RET(
OdUInt32 localViewportId(
const OdGsBaseModel *pModel)
const, localViewportId(pModel))
348 MT_VECT_VIEWMTH_RET(
OdGsViewLocalId &getViewLocalId(), getViewLocalId())
378 #undef MT_VECT_VIEWMTH_RET
379 #undef MT_VECT_VIEWMTH
411 return (&
view() !=
this);
422 template <
int SyncCount = 4>
445 void check(
int nSyncObjects) {
if (nSyncObjects != SyncCount)
throw OdError(eOutOfRange); }
453 : m_syncPoint(syncPoint), m_syncType(syncType)
455 m_syncPoint.
lock(m_syncType);
459 m_syncPoint.
unlock(m_syncType);
#define IMPL_VECTORIZER_DEFAULT()
#define OdSaveStateFlag(type, flag, name, flags, newVal)
FIRSTDLL_EXPORT ThreadsCounter & odThreadsCounter()
int lineweightToPixels(OdDb::LineWeight lineweight) const
OdGsViewImpl & view() const
bool isSupportPlotStyles() const
void clearLinetypeCache()
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()
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
virtual OdGsBaseVectorizer * getVectorizer(bool)
OdArray< OdGsViewPtr > m_vectorizers
OdGsBaseVectorizeViewMT()
virtual void setUp(OdGsViewImpl &view)
virtual OdRxDictionaryPtr properties()=0
const OdGePoint2d & dcScreenMin() const
OdUInt32 viewportId() const
virtual void invalidateCachedViewportGeometry()
OdGsClientViewInfo m_viewInfo
virtual OdGsDevice * device() const
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
bool isLayerVisible(OdDbStub *layerId) const
virtual void getNumPixelsInUnitSquare(const OdGePoint3d &givenWorldpt, OdGePoint2d &pixelArea, bool includePerspective=true) const
const OdGiContextualColors * contextualColors() const
void screenRectNorm(OdGsDCRect &normalizedRect) const
OdGsDCRectArray invalidRects(OdGsOverlayId nOverlay=kGsMainOverlay) const
virtual bool isValid() const
virtual void cullingVolumeTransformBy(const OdGeMatrix3d &xfm)
const OdGePoint2d & dcUpperRight() const
virtual OdGeVector3d upVector() const
double getLinetypeGenerationCriteria() const
virtual OdGsViewPtr cloneView(bool cloneViewParameters=true, bool cloneGeometry=false)
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 OdDbStub * visualStyle() const
virtual double lineweightToDcScale() const
double linetypeAlternateScaleMultiplier() const
virtual double lensLength() const
const OdGePoint2d & dcScreenMax() const
ClearColor clearColor() const
virtual void getViewportBorderProperties(ODCOLORREF &color, int &width) const
virtual OdDbStub * background() const
virtual RenderMode mode() const
virtual OdGeMatrix3d projectionMatrix() const
const OdGeMatrix3d & worldToEyeMatrix() const
OdDbStub * getViewportObjectId() const
virtual void viewportClipRegion(OdIntArray &counts, OdGePoint2dArray &vertices) const
bool isViewportOnScreen() const
virtual void setVisualStyle(OdDbStub *visualStyleId)
const OdGeVector3d & eyeVector() const
const OdGeVector3d & xVector() const
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
OdGsBaseVectorizeDevice * baseDevice()
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
OdGiRegenType getRegenType() const
virtual double backClip() const
virtual OdGeMatrix3d viewingMatrix() const
void viewportDcCorners(OdGePoint2d &lower_left, OdGePoint2d &upper_right) 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 & dcLowerLeft() const
const OdGeMatrix3d & rotationMatrix() const
double unrotatedFieldWidth() const
bool isNonRectClipped() 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