CFx SDK Documentation  2023 SP0
DbPointCloud.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 _OD_DB_POINTCLOUD_
26 #define _OD_DB_POINTCLOUD_
27 
28 #include "DbPointCloudObjExports.h"
29 #include "DbPointCloudClipping.h"
31 #include "TD_PackPush.h"
32 
33 #include "DbEntity.h"
34 
43 {
44 public:
45 
47 
52 
57 
58  // Properties
59 
64 
71 
77  bool getSavedFileName(OdString &) const;
78 
87  bool setSavedFileName(const OdString&);
88 
94  bool getIndexFile(OdString &) const;
95 
104  bool setIndexFile(const OdString&);
105 
110 
119  bool getSourceFile(OdUInt32 index, OdString & fileName) const;
120 
126 
133  bool addSourceFile(const OdString& fileName );
134 
135 
137  void setCoordSys(const OdString&);
138 
142  bool locked() const;
143 
147  void setLocked(bool);
148 
149  bool useEntityColor()const;
150  void setUseEntityColor(bool);
151 
156 
163 
172 
182 
183 
188 
198 
199 
204 
213  void setExtents(const OdGeExtents3d & exts);
214 
215  //Intensity
216 
217 
221  bool showIntensity() const;
222 
232 
233 
234  //bool hasIntensity() const;
235 
236 
240  int getIntensityScheme() const;
241 
251 
254 
255  // Clipping
259  bool showClipping() const;
260 
270 
274  int clippingCount() const;
275 
276 
286 
296 
301 
302 
312 
322 
323  // File IO
325  virtual void dwgOutFields(OdDbDwgFiler *) const;
327  virtual void dxfOutFields(OdDbDxfFiler *) const;
328 
329  // Rendering
330  virtual bool subWorldDraw(OdGiWorldDraw* pWd) const;
331  virtual void subViewportDraw(OdGiViewportDraw* pVd) const;
332 
333 
334  virtual OdResult subGetGeomExtents(OdGeExtents3d& extents) const;
335  virtual OdResult subTransformBy(const OdGeMatrix3d& xfm);
336 
337 #if 0
338  // Require investigation
339  bool clearSelection(const OdString&);
340  bool select(PointCloudSelectionDef const &, const OdString &);
341  bool selectNone();
342  bool selectionId(const OdString&, struct _GUID &);
343 
344  bool hasIntensity() const;
345 
346  IPointProcess * ProcessPoints(IPointProcessor *, OdDbExtents *);
347  IPointProcess * ProcessPoints(IPointProcessor *, OdPointCloudViewFrustum *);
348 
349  bool closestPoint(OdGePoint3d const &, OdGePoint3d const &,unsigned long &) const;
350  void UsePointBuffer(IPointCloudDataBuffer *);
351 
352  IPointCloudEngine * getEngine() const;
353  OdResult getNativeCloudExtent(OdDbExtents &) const;
354  bool getPointCloudFileVersion(int &,int &) const;
355  void getViewFrustum(OdGiViewport &,OdPointCloudViewFrustum &,bool) const;
356  bool hasProperty(wchar_t const *,bool &) const;
357  bool isValid() const;
358  void markDirty();
359  void onViewChanged();
360  IPointCloudDataBuffer * pointData() const;
361  bool readPoints(OdDbExtents &, unsigned long);
362  bool readPoints(OdPointCloudViewFrustum &, unsigned long);
363  bool readPoints(unsigned long);
364  OdResult setPointCloudFilter(IPointCloudFilter *);
365  class IOdPcPointFilter * setPointFilter(IOdPcPointFilter *);
366  void setVisibleSelType(enum IPointCloudDataFile::selType);
367  enum IPointCloudDataFile::selType visibleSelType() const;
368 #endif
369 
370 };
375 
393  OdDbBlockTableRecord* pBlockToAdd,
394  OdDbPointCloudPtr& newPointCloud,
395  const OdString& indexFile,
396  const OdString& sourceFile,
398  double scale = 1.0,
399  double rotation = 0.0,
400  const OdGeVector3d& vAxis = OdGeVector3d::kZAxis
401  );
402 
403 #include "TD_PackPop.h"
404 
405 #endif
DBPOINTCLOUDOBJ_EXPORT OdResult oddbCreatePointCloudEntity(OdDbBlockTableRecord *pBlockToAdd, OdDbPointCloudPtr &newPointCloud, const OdString &indexFile, const OdString &sourceFile, const OdGePoint3d &location=OdGePoint3d::kOrigin, double scale=1.0, double rotation=0.0, const OdGeVector3d &vAxis=OdGeVector3d::kZAxis)
OdSmartPtr< OdDbPointCloud > OdDbPointCloudPtr
Definition: DbPointCloud.h:374
#define DBPOINTCLOUDOBJ_EXPORT
scale
Definition: DimVarDefs.h:1684
unsigned int OdUInt32
OdResult
Definition: OdResult.h:29
bool getSourceFile(OdUInt32 index, OdString &fileName) const
virtual OdResult dwgInFields(OdDbDwgFiler *)
void clearSourceFiles()
OdDbPointCloudClipping const * getConstPointCloudClipping(int) const
virtual void subViewportDraw(OdGiViewportDraw *pVd) const
void setLocked(bool)
void resetClippingBoundary()
bool showClipping() const
ODDB_DECLARE_MEMBERS(OdDbPointCloud)
void setPointCloudDefId(const OdDbObjectId)
void setExtents(const OdGeExtents3d &exts)
void setCoordSys(const OdString &)
bool setIndexFile(const OdString &)
int getIntensityScheme() const
bool addClippingBoundary(OdDbPointCloudClipping const &)
OdString getCoordSys() const
bool showIntensity() const
OdDbObjectId pointCloudDefId() const
bool addSourceFile(const OdString &fileName)
OdInt64 getPointCount()
OdResult setShowClipping(const bool)
const OdDbPointCloudIntensityStyle & intensityStyle() const
virtual void dxfOutFields(OdDbDxfFiler *) const
bool getIndexFile(OdString &) const
OdUInt32 getSourceFileCount() const
bool locked() const
void setReactorId(const OdDbObjectId)
bool getSavedFileName(OdString &) const
OdResult setTransformation(const OdGeMatrix3d &)
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
void setUseEntityColor(bool)
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
bool useEntityColor() const
bool setSavedFileName(const OdString &)
bool removeClippingBoundary(int)
void setPointCount(const OdUInt64 count)
OdGeExtents3d extents() const
OdResult setIntensityScheme(const int)
int clippingCount() const
OdDbObjectId reactorId() const
OdDbPointCloudClipping * getPointCloudClipping(int)
virtual OdResult dxfInFields(OdDbDxfFiler *)
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
OdDbPointCloudIntensityStyle * pIntensityStyle()
virtual void dwgOutFields(OdDbDwgFiler *) const
OdResult setShowIntensity(const bool)
OdGeMatrix3d transformation() const
static GE_STATIC_EXPORT const OdGePoint3d kOrigin
Definition: GePoint3d.h:89
static GE_STATIC_EXPORT const OdGeVector3d kZAxis
Definition: GeVector3d.h:91
Definition: Int64.h:43
GLuint index
Definition: gles2_ext.h:265
GLsizei GLsizei * count
Definition: gles2_ext.h:276
GLint location
Definition: gles2_ext.h:284