CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GiPolyline.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 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
26
27#ifndef __ODGIPOLYLINE_H__
28#define __ODGIPOLYLINE_H__
29
30class OdGeVector3d;
31class OdGeLineSeg2d;
32class OdGeLineSeg3d;
33class OdGeCircArc2d;
34class OdGeCircArc3d;
35
36#include "TD_PackPush.h"
37
38#include "Gi/GiExport.h"
39
50{
51public:
53
58 {
59 kLine, // Straight segment with length greater than 0.
60 kArc, // Arc segment with length greater than 0.
61 kCoincident, // Segment with 0 length.
62 kPoint, // Polyline with a single vertex.
63 kEmpty // No vertices are present.
64 };
65
71 virtual unsigned int numVerts() const = 0;
72
78 virtual bool isClosed() const = 0;
79
85 virtual OdGeVector3d normal() const = 0;
86
92 virtual double thickness() const = 0;
93
99 virtual double getConstantWidth() const = 0;
100
106 virtual bool hasWidth() const = 0;
107
115 virtual bool hasPlinegen() const = 0;
116
122 virtual double elevation() const = 0;
123
132 virtual SegType segType(unsigned int index) const = 0;
133
139 virtual void getLineSegAt(unsigned int index, OdGeLineSeg2d& ln) const = 0;
140
146 virtual void getLineSegAt(unsigned int index, OdGeLineSeg3d& ln) const = 0;
147
153 virtual void getArcSegAt(unsigned int index, OdGeCircArc2d& arc) const = 0;
154
160 virtual void getArcSegAt(unsigned int index, OdGeCircArc3d& arc) const = 0;
161
167 virtual void getPointAt(unsigned int index, OdGePoint2d& pt) const = 0;
168
175 virtual double getBulgeAt(unsigned int index) const = 0;
176
183 virtual void getWidthsAt(unsigned int index, double& startWidth, double& endWidth) const = 0;
184
191 virtual OdRxObjectPtr getDbPolyline() const = 0;
192};
193
198
199#include "TD_PackPop.h"
200
201#endif // __ODGIPOLYLINE_H__
202
#define ODGI_EXPORT
Definition: GiExport.h:35
OdSmartPtr< OdGiPolyline > OdGiPolylinePtr
Definition: GiPolyline.h:197
virtual void getArcSegAt(unsigned int index, OdGeCircArc2d &arc) const =0
virtual SegType segType(unsigned int index) const =0
virtual bool hasPlinegen() const =0
virtual double getBulgeAt(unsigned int index) const =0
virtual void getWidthsAt(unsigned int index, double &startWidth, double &endWidth) const =0
virtual void getLineSegAt(unsigned int index, OdGeLineSeg3d &ln) const =0
virtual void getLineSegAt(unsigned int index, OdGeLineSeg2d &ln) const =0
ODRX_DECLARE_MEMBERS(OdGiPolyline)
virtual bool isClosed() const =0
virtual double elevation() const =0
virtual unsigned int numVerts() const =0
virtual bool hasWidth() const =0
virtual double thickness() const =0
virtual double getConstantWidth() const =0
virtual void getPointAt(unsigned int index, OdGePoint2d &pt) const =0
virtual void getArcSegAt(unsigned int index, OdGeCircArc3d &arc) const =0
virtual OdGeVector3d normal() const =0
virtual OdRxObjectPtr getDbPolyline() const =0
GLuint index
Definition: gles2_ext.h:265