Mobile API Reference  MicroStrategy 2019
Ribbon3DObject.h
Go to the documentation of this file.
1 //==============================================================================================
2 // FILENAME : Ribbon3DObject.h
3 // AUTHOR : Xin Liu
4 // CREATION : 2009-05-27
5 // Copyright (C) MicroStrategy Incorporated 2009
6 // All Rights Reserved
7 //==============================================================================================
8 
9 #ifndef MSICHART_RIBBON3DOBJECT_H
10 #define MSICHART_RIBBON3DOBJECT_H
11 
12 #include "Shape3DObject.h"
13 
14 namespace MsiChart
15 {
17  {
19  RPT_FRONT = 2,
20  RPT_BACK = 4,
21  };
22 
24  {
25  public:
27 
28  Ribbon3DObject(const TripleId& irTripleId, GraphObjectManager* ipManager,
29  const DPoint3D& irStartDataPoint, const DPoint3D& irEndDataPoint, double iRibbonThickness, double iRibbonHeight, Int32 iRibbonPositionType = RPT_MIDDLE,
30  GraphCollectionObject* ipParentObject = NULL, bool iHasFill = true);
31 
33 
34  private:
35  void hAddFaces();
36 
37  void hGetFront(Polygon3D& orFront);
38  void hGetBack(Polygon3D& orBack);
39  void hGetTop(Polygon3D& orTop);
40  void hGetBottom(Polygon3D& orBottom);
41  void hGetLeftSide(Polygon3D& orLeftSide);
42  void hGetRightSide(Polygon3D& orRightSide);
43 
44  void hGetFrontDirection(DVector3D& orFrontDirection);
45  void hGetRightDirection(DVector3D& orRightDirection);
46  void hGetTopDirection(DVector3D& orTopDirection);
47 
48  DPoint3D hGetTopLeftStartPoint();
49  DPoint3D hGetTopRightStartPoint();
50  DPoint3D hGetTopLeftEndPoint();
51  DPoint3D hGetTopRightEndPoint();
52  DPoint3D hGetBottomLeftStartPoint();
53  DPoint3D hGetBottomRightStartPoint();
54  DPoint3D hGetBottomLeftEndPoint();
55  DPoint3D hGetBottomRightEndPoint();
56 
57  DVector3D hGetThicknessVector();
58  DVector3D hGetHeightVector();
59 
60  DPoint3D mStartDataPoint;
61  DPoint3D mEndDataPoint;
62  double mThickness;
63  double mHeight;
64  Int32 mRibbonPositionType;
65  };
66 
67 }
68 
69 #endif
Definition: Ribbon3DObject.h:19
MSynch::SmartPtr< Ribbon3DObject > Ptr
Definition: Ribbon3DObject.h:26
This is the base class of 3D graph objects.
Definition: Shape3DObject.h:20
Ribbon3DObject(const TripleId &irTripleId, GraphObjectManager *ipManager, const DPoint3D &irStartDataPoint, const DPoint3D &irEndDataPoint, double iRibbonThickness, double iRibbonHeight, Int32 iRibbonPositionType=RPT_MIDDLE, GraphCollectionObject *ipParentObject=NULL, bool iHasFill=true)
Definition: GraphCollectionObject.h:19
Definition: Ribbon3DObject.h:18
std::vector< DPoint3D > Polygon3D
Definition: Shape3DObject.h:17
Definition: Ribbon3DObject.h:23
#define Int32
Definition: BasicTypes.h:20
Definition: Ribbon3DObject.h:20
Definition: SmartPtr.h:38
Definition: ABLPlot.h:21
#define NULL
Definition: Null.h:10
Definition: GraphObjectManager.h:37
Definition: Common.h:397
RibbonPositionType
Definition: Ribbon3DObject.h:16