CFx SDK Documentation  2020SP3
GiModelToViewProc.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 #ifndef __ODGIMODELTOVIEWPROC_H__
25 #define __ODGIMODELTOVIEWPROC_H__
26 
27 #include "Gi/GiConveyorNode.h"
28 #include "Ge/GeDoubleArray.h"
29 //FELIX_CHANGE_BEGIN
30 #include "Gi/GiXform.h"
31 //FELIX_CHANGE_END
32 
33 class OdGeMatrix3d;
34 class OdGiDeviation;
35 class OdGiXform;
37 
43 {
44 protected:
46 public:
48 
49  virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
50 
51  virtual OdGiConveyorInput& modelInput() = 0;
52  virtual OdGiConveyorInput& eyeInput() = 0;
53 
54  virtual OdGiConveyorOutput& output() = 0;
55 
56  virtual void setEyeToOutputTransform(const OdGeMatrix3d& xMat) = 0;
57  virtual const OdGeMatrix3d& eyeToOutputTransform() const = 0;
58 
59  virtual void setView(
60  const OdGePoint3d& target,
61  const OdGeVector3d& xVector,
62  const OdGeVector3d& upVector,
63  const OdGeVector3d& eyeVector) = 0;
64  virtual void setWorldToEyeTransform(const OdGeMatrix3d& xMat) = 0;
65 
66  virtual const OdGeMatrix3d& worldToEyeTransform() const = 0;
67  virtual const OdGeMatrix3d& eyeToWorldTransform() const = 0;
68 
69  virtual const OdGeMatrix3d& modelToEyeTransform() const = 0;
70  virtual const OdGeMatrix3d& eyeToModelTransform() const = 0;
71 
72  virtual void pushModelTransform(const OdGeMatrix3d& xMat) = 0;
73  virtual void popModelTransform() = 0;
74  virtual const OdGeMatrix3d& modelToWorldTransform() const = 0;
75  virtual const OdGeMatrix3d& worldToModelTransform() const = 0;
76 
77  virtual OdGiXform *getModelToEyeXform() = 0;
78  virtual const OdGiXform *getModelToEyeXform() const = 0;
79  virtual OdGiXform *getEyeToModelXform() = 0;
80  virtual const OdGiXform *getEyeToModelXform() const = 0;
81 
82  virtual void pushClipBoundary(OdGiClipBoundary* pBoundary) = 0;
83  virtual void pushClipBoundary(OdGiClipBoundary* pBoundary, OdGiAbstractClipBoundary* pClipInfo) = 0;
84  virtual void popClipBoundary() = 0;
85 
86  virtual bool isClipping() const = 0;
87  virtual bool isEmptyClipSet() const = 0;
88 
89  virtual void setWorldDeviation(const OdGiDeviation& worldDev) = 0;
90  virtual void setWorldDeviation(const OdGeDoubleArray& deviations) = 0;
91 
92  virtual const OdGiDeviation& worldDeviation() const = 0;
93  virtual const OdGiDeviation& modelDeviation() const = 0;
94  virtual const OdGiDeviation& eyeDeviation() const = 0;
95 
97  {
100  kClipInOutputSpace
101  };
102  virtual void setClippingSpace(ClippingCS newClipCS) = 0;
103  virtual ClippingCS currentClippingSpace() const = 0;
104 
105  virtual void enableAnalyticCurvesClipping(bool bEnable = true) = 0;
106  virtual bool isAnalyticCurvesClippingEnabled() const = 0;
107 
108  virtual void enableClippingDebugLog(const OdString &fileName) = 0;
109  virtual void disableClippingDebugLog() = 0;
110  virtual bool isClippingDebugLogEnabled() const = 0;
111 
112  virtual void switchSectioning(bool bEnable) = 0;
113  virtual bool isSectioningEnabled() const = 0;
114 };
115 
123 
124 
133 {
134 protected:
136 public:
138 
139  virtual void setDrawContext( OdGiConveyorContext* pDrawCtx ) = 0;
140  virtual void set(const OdGiClipBoundary* bnd) = 0;
141  virtual void setModelToWorld(const OdGeMatrix3d& modelToWorld) = 0;
142  virtual bool enabled() const = 0;
143  virtual void setEnabled(bool bOn) = 0;
144 };
145 
154 //FELIX_CHANGE_BEGIN
158 //FELIX_CHANGE_END
159 #endif //#ifndef __ODGIMODELTOVIEWPROC_H__
OdGiDeviation
Definition: GiDeviation.h:44
OdGiModelToViewProcPtr
OdSmartPtr< OdGiModelToViewProc > OdGiModelToViewProcPtr
Definition: GiModelToViewProc.h:122
OdGeVector3d
Definition: GeVector3d.h:54
OdString
Definition: OdString.h:95
OdGiModelToViewProc::getEyeToModelXform
virtual OdGiXform * getEyeToModelXform()=0
OdGiModelSection
Definition: GiModelToViewProc.h:133
OdGiModelToViewProc::pushModelTransform
virtual void pushModelTransform(const OdGeMatrix3d &xMat)=0
OdGiModelToViewProc::isClippingDebugLogEnabled
virtual bool isClippingDebugLogEnabled() const =0
odgiGetModelToEyeXform
ODGI_EXPORT OdGiXformPtr odgiGetModelToEyeXform(OdGiModelToViewProc *pThis)
OdGiModelSection::set
virtual void set(const OdGiClipBoundary *bnd)=0
OdRxObject
Definition: RxObject.h:564
OdGiModelToViewProc::pushClipBoundary
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary)=0
odgiIsClipped
ODGI_EXPORT bool odgiIsClipped(OdGiModelToViewProc *pThis)
OdGiModelToViewProc::isAnalyticCurvesClippingEnabled
virtual bool isAnalyticCurvesClippingEnabled() const =0
OdGiModelToViewProc::disableClippingDebugLog
virtual void disableClippingDebugLog()=0
OdArray< double, OdMemoryAllocator< double > >
OdGiModelToViewProc::eyeToWorldTransform
virtual const OdGeMatrix3d & eyeToWorldTransform() const =0
OdGiModelSection::setModelToWorld
virtual void setModelToWorld(const OdGeMatrix3d &modelToWorld)=0
OdGiModelToViewProc::setEyeToOutputTransform
virtual void setEyeToOutputTransform(const OdGeMatrix3d &xMat)=0
OdGiModelToViewProc::getModelToEyeXform
virtual const OdGiXform * getModelToEyeXform() const =0
OdGiModelToViewProc::eyeToOutputTransform
virtual const OdGeMatrix3d & eyeToOutputTransform() const =0
OdGiModelToViewProc::modelToEyeTransform
virtual const OdGeMatrix3d & modelToEyeTransform() const =0
OdGeMatrix3d
Definition: GeMatrix3d.h:73
OdGiModelToViewProc::switchSectioning
virtual void switchSectioning(bool bEnable)=0
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
odgiGetEyeToModelXform
ODGI_EXPORT OdGiXformPtr odgiGetEyeToModelXform(OdGiModelToViewProc *pThis)
OdGiModelSection::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiModelSection)
OdGiClipBoundary
Definition: GiClipBoundary.h:41
OdGiModelToViewProc::ClippingCS
ClippingCS
Definition: GiModelToViewProc.h:97
OdGiModelToViewProc::eyeDeviation
virtual const OdGiDeviation & eyeDeviation() const =0
OdGiConveyorOutput
Definition: GiConveyorNode.h:64
OdGiModelToViewProc::popClipBoundary
virtual void popClipBoundary()=0
OdSmartPtr< OdGiModelToViewProc >
OdGiModelToViewProc::enableAnalyticCurvesClipping
virtual void enableAnalyticCurvesClipping(bool bEnable=true)=0
OdGePoint3d
Definition: GePoint3d.h:55
OdGiAbstractClipBoundary
Definition: GiAbstractClipBoundary.h:39
OdGiModelToViewProc::OdGiModelToViewProc
OdGiModelToViewProc()
OdGiModelToViewProc::output
virtual OdGiConveyorOutput & output()=0
OdGiModelToViewProc::worldDeviation
virtual const OdGiDeviation & worldDeviation() const =0
OdGiModelSection::OdGiModelSection
OdGiModelSection()
OdGiModelToViewProc::modelDeviation
virtual const OdGiDeviation & modelDeviation() const =0
OdGiModelSectionPtr
OdSmartPtr< OdGiModelSection > OdGiModelSectionPtr
Definition: GiModelToViewProc.h:153
OdGiModelToViewProc::setWorldDeviation
virtual void setWorldDeviation(const OdGiDeviation &worldDev)=0
OdGiModelToViewProc
Definition: GiModelToViewProc.h:43
OdGiModelToViewProc::currentClippingSpace
virtual ClippingCS currentClippingSpace() const =0
OdGiModelToViewProc::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiModelToViewProc)
OdGiModelToViewProc::enableClippingDebugLog
virtual void enableClippingDebugLog(const OdString &fileName)=0
OdGiModelToViewProc::modelInput
virtual OdGiConveyorInput & modelInput()=0
OdGiModelToViewProc::eyeInput
virtual OdGiConveyorInput & eyeInput()=0
OdGiModelToViewProc::kClipInEyeSpace
@ kClipInEyeSpace
Definition: GiModelToViewProc.h:98
ODRX_ABSTRACT
#define ODRX_ABSTRACT
Definition: OdPlatformSettings.h:117
OdGiModelToViewProc::setWorldToEyeTransform
virtual void setWorldToEyeTransform(const OdGeMatrix3d &xMat)=0
OdGiModelToViewProc::worldToModelTransform
virtual const OdGeMatrix3d & worldToModelTransform() const =0
OdGiModelToViewProc::isClipping
virtual bool isClipping() const =0
OdGiModelToViewProc::isSectioningEnabled
virtual bool isSectioningEnabled() const =0
OdGiModelToViewProc::isEmptyClipSet
virtual bool isEmptyClipSet() const =0
OdGiConveyorContext
Definition: GiConveyorGeometry.h:54
OdGiModelToViewProc::modelToWorldTransform
virtual const OdGeMatrix3d & modelToWorldTransform() const =0
OdGiConveyorNode
Definition: GiConveyorNode.h:84
OdGiModelToViewProc::getEyeToModelXform
virtual const OdGiXform * getEyeToModelXform() const =0
OdGiModelToViewProc::eyeToModelTransform
virtual const OdGeMatrix3d & eyeToModelTransform() const =0
GiConveyorNode.h
OdGiModelSection::setEnabled
virtual void setEnabled(bool bOn)=0
OdGiModelToViewProc::getModelToEyeXform
virtual OdGiXform * getModelToEyeXform()=0
OdGiModelToViewProc::popModelTransform
virtual void popModelTransform()=0
OdGiModelToViewProc::pushClipBoundary
virtual void pushClipBoundary(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo)=0
OdGiModelSection::setDrawContext
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
OdGiXform
Definition: GiXform.h:37
OdGiModelToViewProc::kClipInWorldSpace
@ kClipInWorldSpace
Definition: GiModelToViewProc.h:99
OdGiModelToViewProc::setClippingSpace
virtual void setClippingSpace(ClippingCS newClipCS)=0
OdGiModelToViewProc::worldToEyeTransform
virtual const OdGeMatrix3d & worldToEyeTransform() const =0
OdGiModelToViewProc::setView
virtual void setView(const OdGePoint3d &target, const OdGeVector3d &xVector, const OdGeVector3d &upVector, const OdGeVector3d &eyeVector)=0
OdGiModelSection::enabled
virtual bool enabled() const =0
OdGiModelToViewProc::setDrawContext
virtual void setDrawContext(OdGiConveyorContext *pDrawCtx)=0
OdGiModelToViewProc::setWorldDeviation
virtual void setWorldDeviation(const OdGeDoubleArray &deviations)=0
OdGiConveyorInput
Definition: GiConveyorNode.h:43
GiXform.h
GeDoubleArray.h