CFx SDK Documentation  2023 SP0
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__
#define ODGI_EXPORT
Definition: GiExport.h:35
OdSmartPtr< OdGiPlaneProjector > OdGiPlaneProjectorPtr
OdSmartPtr< OdGiXYProjector > OdGiXYProjectorPtr
virtual void disable()=0
virtual const OdGeVector3d & projectionDirection() const =0
virtual void setPlane(const OdGePlane &plane)=0
virtual void enable()=0
virtual bool isEnabled() const =0
ODRX_DECLARE_MEMBERS(OdGiPlaneProjector)
virtual const OdGePlane & plane() const =0
virtual void disable()=0
virtual bool isEnabled() const =0
virtual void enable()=0
ODRX_DECLARE_MEMBERS(OdGiXYProjector)