CFx SDK Documentation  2020SP3
GiPlaneProjector.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 
25 #ifndef __ODGIPLANEPROJECTOR_H__
26 #define __ODGIPLANEPROJECTOR_H__
27 
28 #include "Gi/GiConveyorNode.h"
29 
30 #include "TD_PackPush.h"
31 
32 /* This conveyor nodes works same as Xform with projection() transform (and in some cases use
33  projection() matrices for transform), but this transforms works faster and calculate geometry
34  normals correctly in contrast to Xform, so if you want projection to plane transformation, use
35  this classes instead of Xform with projection() transform matrix.
36 */
37 
38 class OdGePlane;
39 
46 {
47 protected:
49 public:
51 
55  virtual void enable() = 0;
59  virtual void disable() = 0;
63  virtual bool isEnabled() const = 0;
64 };
65 
67 
74 {
75 protected:
77 public:
79 
83  virtual void enable() = 0;
87  virtual void disable() = 0;
91  virtual bool isEnabled() const = 0;
92 
97  virtual void setPlane(const OdGePlane &plane) = 0;
101  virtual const OdGePlane &plane() const = 0;
105  virtual const OdGeVector3d &projectionDirection() const = 0;
106 };
107 
109 
110 #include "TD_PackPop.h"
111 
112 #endif //#ifndef __ODGIPLANEPROJECTOR_H__
OdGiPlaneProjector::plane
virtual const OdGePlane & plane() const =0
OdGePlane
Definition: GePlane.h:45
OdGeVector3d
Definition: GeVector3d.h:54
OdGiPlaneProjectorPtr
OdSmartPtr< OdGiPlaneProjector > OdGiPlaneProjectorPtr
Definition: GiPlaneProjector.h:108
OdGiPlaneProjector::OdGiPlaneProjector
OdGiPlaneProjector()
OdGiPlaneProjector::setPlane
virtual void setPlane(const OdGePlane &plane)=0
OdGiXYProjector::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiXYProjector)
TD_PackPop.h
ODGI_EXPORT
#define ODGI_EXPORT
Definition: GiExport.h:35
OdGiPlaneProjector
Definition: GiPlaneProjector.h:74
OdGiXYProjector::disable
virtual void disable()=0
OdGiPlaneProjector::isEnabled
virtual bool isEnabled() const =0
OdSmartPtr
Definition: SmartPtr.h:58
OdGiXYProjector::enable
virtual void enable()=0
OdGiXYProjectorPtr
OdSmartPtr< OdGiXYProjector > OdGiXYProjectorPtr
Definition: GiPlaneProjector.h:66
OdGiPlaneProjector::projectionDirection
virtual const OdGeVector3d & projectionDirection() const =0
OdGiXYProjector
Definition: GiPlaneProjector.h:46
TD_PackPush.h
OdGiPlaneProjector::disable
virtual void disable()=0
OdGiConveyorNode
Definition: GiConveyorNode.h:84
GiConveyorNode.h
OdGiXYProjector::OdGiXYProjector
OdGiXYProjector()
OdGiXYProjector::isEnabled
virtual bool isEnabled() const =0
OdGiPlaneProjector::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdGiPlaneProjector)
OdGiPlaneProjector::enable
virtual void enable()=0