Developer Documentation

PluginFunctions.hh
Go to the documentation of this file.
1 /*===========================================================================*\
2 * *
3 * OpenFlipper *
4 * Copyright (c) 2001-2015, RWTH-Aachen University *
5 * Department of Computer Graphics and Multimedia *
6 * All rights reserved. *
7 * www.openflipper.org *
8 * *
9 *---------------------------------------------------------------------------*
10 * This file is part of OpenFlipper. *
11 *---------------------------------------------------------------------------*
12 * *
13 * Redistribution and use in source and binary forms, with or without *
14 * modification, are permitted provided that the following conditions *
15 * are met: *
16 * *
17 * 1. Redistributions of source code must retain the above copyright notice, *
18 * this list of conditions and the following disclaimer. *
19 * *
20 * 2. Redistributions in binary form must reproduce the above copyright *
21 * notice, this list of conditions and the following disclaimer in the *
22 * documentation and/or other materials provided with the distribution. *
23 * *
24 * 3. Neither the name of the copyright holder nor the names of its *
25 * contributors may be used to endorse or promote products derived from *
26 * this software without specific prior written permission. *
27 * *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39 * *
40 \*===========================================================================*/
41
42 //=============================================================================
43 //
44 // Standard Functions
45 //
46 //=============================================================================
47
53 #pragma once
54
55
56 #include <QPair>
57 #include <QFileDialog>
58
59 #include <OpenFlipper/common/Types.hh>
60 #include <OpenFlipper/common/OFGLWidget.hh>
61
62 #include <ACG/Scenegraph/SceneGraph.hh>
63 #include <OpenFlipper/BasePlugin/PluginFunctionsViewControls.hh>
64
65 //== FORWARDDECLARATIONS ======================================================
66 class ViewObjectMarker;
67
70 namespace PluginFunctions {
71
72 //=======================================
73 // Get Source/Target objects
76 //=======================================
77
83 DLLEXPORT
84 bool getPickedObject(const size_t _node_idx , BaseObjectData*& _object);
85
88 //=======================================
89 // Get Objects by their identifier
92 //=======================================
93
99 DLLEXPORT
100 bool getSourceIdentifiers( std::vector<int>& _identifiers );
101
107 DLLEXPORT
108 bool getTargetIdentifiers( std::vector<int>& _identifiers );
109
115 DLLEXPORT
116 bool getAllObjectIdentifiers( std::vector<int>& _identifiers );
117
123 DLLEXPORT
124 bool getAllMeshes( std::vector<int>& _identifiers );
125
136 DLLEXPORT
137 bool getObject( const int _identifier , BaseObject*& _object );
138
142 DLLEXPORT
143 bool getObject( const int _identifier , BaseObjectData*& _object );
144
147 DLLEXPORT
148 int getObjectId( const QString& _name );
149
155 DLLEXPORT
156 bool objectExists( const int _identifier );
157
159 DLLEXPORT
160 int objectCount();
161
163 DLLEXPORT
164 int targetCount();
165
167 DLLEXPORT
168 int sourceCount();
169
171 DLLEXPORT
172 int visibleCount();
173
176 //=======================================
177 // Get/set status of examiner
180 //=======================================
181
182
184 DLLEXPORT
185 int viewers( );
186
194 DLLEXPORT
195 void disableExaminerLightHandling();
196
202 DLLEXPORT
203 bool examinerLightHandling();
204
206 DLLEXPORT
207 void setActiveExaminer( const unsigned int _id );
208
210 DLLEXPORT
211 unsigned int activeExaminer();
212
214 DLLEXPORT
215 QString getEncodedExaminerView();
216
218 DLLEXPORT
219 QString getEncodedExaminerView(int _viewerId);
220
222 DLLEXPORT
223 void setEncodedExaminerView( QString _view );
224
226 DLLEXPORT
227 void setEncodedExaminerView(int _viewerId , QString _view );
228
232 DLLEXPORT
233 void setSceneCenter(const ACG::Vec3d& _center, int _viewer );
234
240 DLLEXPORT
241 bool scenegraphPick( ACG::SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, size_t &_nodeIdx, size_t &_targetIdx, ACG::Vec3d *_hitPointPtr );
242
247 DLLEXPORT
248 bool scenegraphPick( const unsigned int _examiner ,ACG::SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, size_t &_nodeIdx, size_t &_targetIdx, ACG::Vec3d *_hitPointPtr );
249
256 DLLEXPORT
257 bool scenegraphPick( const unsigned int _examiner ,ACG::SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, BaseObjectData*& _object, size_t &_targetIdx, const bool _refine ,ACG::Vec3d *_hitPointPtr );
258
265 DLLEXPORT
266 bool scenegraphPick( ACG::SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, BaseObjectData*& _object, size_t &_targetIdx, const bool _refine, ACG::Vec3d *_hitPointPtr );
267
268
273 DLLEXPORT
274 bool scenegraphRegionPick( ACG::SceneGraph::PickTarget _pickTarget,
275 const QRegion& _region,
276 QList<QPair<size_t, size_t> >& _list,
277 QVector<float>* _depths = 0,
278 QVector<ACG::Vec3d>* _points = 0);
279
283 DLLEXPORT
284 bool scenegraphRegionPick( const unsigned int _examiner,
285 ACG::SceneGraph::PickTarget _pickTarget,
286 const QRegion& _region,
287 QList<QPair<size_t, size_t> >& _list,
288 QVector<float>* _depths = 0,
289 QVector<ACG::Vec3d>* _points = 0);
290
295 DLLEXPORT
296 void traverse( ACG::SceneGraph::MouseEventAction &_action );
297
299 DLLEXPORT
300 const std::string pickMode ();
301
303 DLLEXPORT
304 void pickMode ( const std::string& _mode);
305
307 DLLEXPORT
308 void getCurrentViewImage(QImage& _image);
309
318 DLLEXPORT
319 ACG::SceneGraph::BaseNode* getSceneGraphRootNode();
320
326 DLLEXPORT
327 ACG::SceneGraph::BaseNode* getRootNode();
328
334 DLLEXPORT
335 void addGlobalNode(ACG::SceneGraph::BaseNode* _node);
336
342 DLLEXPORT
343 void addGlobalStatusNode(ACG::SceneGraph::BaseNode* _node);
344
353 DLLEXPORT
354 void addObjectRenderingNode(ACG::SceneGraph::BaseNode* _node);
355
357 DLLEXPORT
358 void actionMode ( Viewer::ActionMode _mode);
359
361 DLLEXPORT
362 Viewer::ActionMode actionMode();
363
365 DLLEXPORT
366 void shareGLWidget(OFGLWidget* _widget);
367
369 DLLEXPORT
370 OFGLWidget* shareGLWidget();
371
376 DLLEXPORT
377 void allowRotation(bool _mode);
378
382 DLLEXPORT
383 QPoint mapToGlobal( const QPoint _point );
384
388 DLLEXPORT
389 QPoint mapToLocal( const QPoint _point );
390
395 DLLEXPORT
396 void setViewObjectMarker (ViewObjectMarker *_marker);
397
402 DLLEXPORT
403 void setDefaultViewObjectMarker (ViewObjectMarker *_marker);
404
407 DLLEXPORT
408 QStringList collectObjectComments(bool visibleOnly, bool targetedOnly);
409
412 DLLEXPORT
413 QStringList collectObjectMaterials(bool visibleOnly, bool targetedOnly);
414
416 DLLEXPORT
417 ViewObjectMarker* defaultViewObjectMarker ();
418
422 //=======================================
423 // Iterators for object Access
426 //=======================================
427
428 typedef QStringList IteratorRestriction;
429
430 const QStringList ALL_OBJECTS;
431 const QStringList TARGET_OBJECTS ("target");
432 const QStringList SOURCE_OBJECTS ("source");
433
441 class DLLEXPORT ObjectIterator {
442
443 public :
444
446 typedef BaseObjectData value_type;
447
449 typedef BaseObjectData* value_handle;
450
452 typedef value_type& reference;
453
455 typedef value_type* pointer;
456
464 ObjectIterator(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL );
465
467 ObjectIterator(BaseObjectData* pos, IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL );
468
470 operator value_handle() { return pos_; };
471
473 bool operator==( const ObjectIterator& _rhs) const;
474
476 bool operator!=( const ObjectIterator& _rhs) const;
477
479 ObjectIterator& operator=( const ObjectIterator& _rhs);
480
482 pointer operator->();
483
485 ObjectIterator& operator++();
486
488 ObjectIterator& operator--();
489
491 BaseObjectData* operator*();
492
494 BaseObjectData* index() { return pos_; };
495
496 private :
498 BaseObjectData* pos_;
499
501 DataType dataType_;
502
504 IteratorRestriction restriction_;
505
509 inline void proceedToNextBaseObjectData(BaseObject*& _object);
510 };
511
512
517 class DLLEXPORT ObjectReferenceIterator : public std::iterator<std::forward_iterator_tag, BaseObjectData>
518 {
519 public:
520 explicit ObjectReferenceIterator(IteratorRestriction _restriction = ALL_OBJECTS, DataType _dataType = DATA_ALL) :
521 it_(_restriction, _dataType)
522 {
523 }
524
525 explicit ObjectReferenceIterator(BaseObjectData* _pos, IteratorRestriction _restriction = ALL_OBJECTS, DataType _dataType = DATA_ALL) :
526 it_(_pos, _restriction, _dataType)
527 {
528 }
529
530 ObjectReferenceIterator(const ObjectReferenceIterator& _rhs) :
531 it_(_rhs.it_)
532 {
533 }
534
535 ObjectReferenceIterator& operator=(const ObjectReferenceIterator& _rhs)
536 {
537 if (this != &_rhs) {
538 it_ = _rhs.it_;
539 }
540 return *this;
541 }
542
543 ObjectReferenceIterator& operator++() {
544 ++it_;
545 return *this;
546 }
547
548 ObjectReferenceIterator operator++(int) {
549 ObjectReferenceIterator copy(*this);
550 operator++();
551 return copy;
552 }
553
554 bool operator==(const ObjectReferenceIterator& _rhs) const {
555 return it_ == _rhs.it_;
556 }
557
558 bool operator!=(const ObjectReferenceIterator& _rhs) const {
559 return it_ != _rhs.it_;
560 }
561
562 BaseObjectData& operator*() {
563 return **it_;
564 }
565
566 BaseObjectData* operator->() {
567 return *it_;
568 }
569
570 private:
571 ObjectIterator it_;
572 };
573
574
583 class DLLEXPORT ObjectRange {
584 public:
585 explicit ObjectRange(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL) :
586 restriction_(_restriction),
587 dataType_(_dataType)
588 {
589 }
590
591 ObjectIterator begin() const {
592 return ObjectIterator(restriction_, dataType_);
593 }
594
595 ObjectIterator end() const {
596 return ObjectIterator(0);
597 }
598
599 private:
600 IteratorRestriction restriction_;
601 DataType dataType_;
602 };
603
604
613 class DLLEXPORT ObjectReferenceRange {
614 public:
615 explicit ObjectReferenceRange(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL) :
616 restriction_(_restriction),
617 dataType_(_dataType)
618 {
619 }
620
621 ObjectReferenceIterator begin() const {
622 return ObjectReferenceIterator(restriction_, dataType_);
623 }
624
625 ObjectReferenceIterator end() const {
626 return ObjectReferenceIterator(0);
627 }
628
629 private:
630 IteratorRestriction restriction_;
631 DataType dataType_;
632 };
633
634
647 DLLEXPORT
648 ObjectReferenceRange objectReferences(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL);
649
650
664 DLLEXPORT
665 ObjectRange objects(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL);
666
667
675 class DLLEXPORT BaseObjectIterator {
676
677 public :
678
680 typedef BaseObject value_type;
681
683 typedef BaseObject* value_handle;
684
686 typedef value_type& reference;
687
689 typedef value_type* pointer;
690
698 BaseObjectIterator(IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL );
699
701 BaseObjectIterator(BaseObject* pos, IteratorRestriction _restriction = ALL_OBJECTS , DataType _dataType = DATA_ALL );
702
704 operator value_handle() { return pos_; };
705
707 bool operator==( const BaseObjectIterator& _rhs);
708
710 bool operator!=( const BaseObjectIterator& _rhs);
711
713 BaseObjectIterator& operator=( const BaseObjectIterator& _rhs);
714
716 pointer operator->();
717
719 BaseObjectIterator& operator++();
720
722 BaseObjectIterator& operator--();
723
725 BaseObject* operator*();
726
728 BaseObject* index() { return pos_; };
729
730 private :
732 BaseObject* pos_;
733
735 DataType dataType_;
736
738 IteratorRestriction restriction_;
739
740 };
741
742 // /// Return Iterator to Mesh End
743 // MeshIterator meshes_end();
744
746 DLLEXPORT
747 ObjectIterator objectsEnd();
748
750 DLLEXPORT
751 BaseObjectIterator baseObjectsEnd();
752
755 //=======================================
756 // Dont Use functions below!!!
759 //=======================================
760
762 DLLEXPORT
763 void setDataRoot( BaseObject* _root );
764
767 //=======================================
770 //=======================================
771
777 DLLEXPORT
778 BaseObjectData* baseObjectData( BaseObject* _object );
779
788 DLLEXPORT
789 int viewerId();
790
792 DLLEXPORT
793 BaseObject*& objectRoot();
794
814 DLLEXPORT
815 QString getOpenFileName(const QString &configProperty,
816 QWidget * parent = 0, const QString & caption = QString(),
817 const QString & defaultDir = QString(), const QString & filter = QString(),
818 QString * selectedFilter = 0, QFileDialog::Options options = 0);
838 DLLEXPORT
839 QString getSaveFileName(const QString &configProperty,
840 QWidget * parent = 0, const QString & caption = QString(),
841 const QString & defaultDir = QString(), const QString & filter = QString(),
842 QString * selectedFilter = 0, QFileDialog::Options options = 0,
843 const QString & defaultSuffix = QString() );
844
845 } /* namespace PluginFunctions */
846
PluginFunctions::defaultViewObjectMarker
ViewObjectMarker * defaultViewObjectMarker()
Get the default ViewObjectMarker.
Definition: PluginFunctions.cc:951
PluginFunctions::allowRotation
void allowRotation(bool _mode, int _viewer)
Definition: PluginFunctions.cc:653
PluginFunctions::addGlobalNode
void addGlobalNode(ACG::SceneGraph::BaseNode *_node)
Add a global node.
Definition: PluginFunctions.cc:979
PluginFunctions::shareGLWidget
void shareGLWidget(OFGLWidget *_widget)
Sets the main QGLWidget for gl data sharing.
Definition: PluginFunctions.cc:595
PluginFunctions::scenegraphPick
bool scenegraphPick(ACG::SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, size_t &_nodeIdx, size_t &_targetIdx, ACG::Vec3d *_hitPointPtr=0)
Execute picking operation on scenegraph.
Definition: PluginFunctions.cc:478
PluginFunctions::getObjectId
int getObjectId(const QString &_name)
Definition: PluginFunctions.cc:328
PluginFunctions::baseObjectsEnd
DLLEXPORT BaseObjectIterator baseObjectsEnd()
Return Iterator to Object End.
Definition: PluginFunctionsBaseIterator.cc:186
PluginFunctions::sourceCount
int sourceCount()
Get the number of source objects.
Definition: PluginFunctions.cc:1010
PluginFunctions::getAllObjectIdentifiers
bool getAllObjectIdentifiers(std::vector< int > &_identifiers)
Get identifiers of all objects.
Definition: PluginFunctions.cc:362
PluginFunctions::collectObjectComments
QStringList collectObjectComments(bool visibleOnly, bool targetedOnly)
Definition: PluginFunctions.cc:1216
PluginFunctions::SOURCE_OBJECTS
const QStringList SOURCE_OBJECTS("source")
Iterable object range.
PluginFunctions::collectObjectMaterials
QStringList collectObjectMaterials(bool visibleOnly, bool targetedOnly)
Definition: PluginFunctions.cc:1227
PluginFunctions::activeExaminer
unsigned int activeExaminer()
Get the id of the examiner which got the last mouse events.
Definition: PluginFunctions.cc:194
PluginFunctions::ObjectIterator::pointer
value_type * pointer
basic pointer type
Definition: PluginFunctions.hh:455
PluginFunctions::getPickedObject
bool getPickedObject(const size_t _node_idx, BaseObjectData *&_object)
Get the picked mesh.
Definition: PluginFunctions.cc:259
PluginFunctions::getTargetIdentifiers
bool getTargetIdentifiers(std::vector< int > &_identifiers)
Get the identifiers of all objects marked as a target object.
Definition: PluginFunctions.cc:280
PluginFunctions::objectExists
bool objectExists(const int _identifier)
Check if an object with this identifier exists.
Definition: PluginFunctions.cc:338
PluginFunctions::ObjectIterator::value_handle
BaseObjectData * value_handle
handle type (just an int)
Definition: PluginFunctions.hh:449
PluginFunctions::ObjectIterator::restriction_
IteratorRestriction restriction_
Restriction of the iterator.
Definition: PluginFunctions.hh:504
PluginFunctions::ObjectIterator::value_type
BaseObjectData value_type
type of the Objects the iterator works on
Definition: PluginFunctions.hh:446
PluginFunctions::TARGET_OBJECTS
const QStringList TARGET_OBJECTS("target")
Iterable object range.
PluginFunctions::IteratorRestriction
QStringList IteratorRestriction
Iterable object range.
Definition: PluginFunctions.hh:428
PluginFunctions::mapToGlobal
QPoint mapToGlobal(const QPoint _point)
Map coordinates of GL Widget to global coordinates.
Definition: PluginFunctions.cc:423
PluginFunctions::viewers
int viewers()
Get the number of viewers.
Definition: PluginFunctions.cc:144
PluginFunctions::ALL_OBJECTS
const QStringList ALL_OBJECTS
Iterable object range.
Definition: PluginFunctions.hh:430
PluginFunctions::setActiveExaminer
void setActiveExaminer(const unsigned int _id)
Set the active id of the examiner which got the last mouse events.
Definition: PluginFunctions.cc:181
PluginFunctions::viewerId
int viewerId()
Return unique viewer id.
Definition: PluginFunctions.cc:163
PluginFunctions::getSourceIdentifiers
bool getSourceIdentifiers(std::vector< int > &_identifiers)
Get the identifiers of all objects marked as a source object.
Definition: PluginFunctions.cc:270
PluginFunctions::addObjectRenderingNode
void addObjectRenderingNode(ACG::SceneGraph::BaseNode *_node)
Add scenegraph node modifing object rendering.
Definition: PluginFunctions.cc:985
PluginFunctions::getRootNode
ACG::SceneGraph::BaseNode * getRootNode()
Get the root node for data objects.
Definition: PluginFunctions.cc:961
Viewer::ActionMode
ActionMode
Enum listing action modes of the viewers.
Definition: ViewerProperties.hh:75
PluginFunctions::getCurrentViewImage
void getCurrentViewImage(QImage &_image)
Returns a QImage of the current View.
Definition: PluginFunctions.cc:605
PluginFunctions::ObjectReferenceIterator
Helper class that wraps an ObjectIterator to return a reference instead of a pointer.
Definition: PluginFunctions.hh:517
PluginFunctions::BaseObjectIterator::pos_
BaseObject * pos_
current position of the iterator
Definition: PluginFunctions.hh:728
PluginFunctions::getObject
bool getObject(const int _identifier, BaseObject *&_object)
Get the object which has the given identifier.
Definition: PluginFunctions.cc:294
PluginFunctions::objectRoot
BaseObject *& objectRoot()
Get the root of the object structure.
Definition: PluginFunctions.cc:1099
PluginFunctions::setDefaultViewObjectMarker
void setDefaultViewObjectMarker(ViewObjectMarker *_marker)
Definition: PluginFunctions.cc:946
PluginFunctions::disableExaminerLightHandling
void disableExaminerLightHandling()
Disable the core light handling.
Definition: PluginFunctions.cc:148
PluginFunctions::ObjectReferenceRange
Range adapter for ObjectIterator.
Definition: PluginFunctions.hh:613
PluginFunctions::ObjectIterator::dataType_
DataType dataType_
returned data types of the iterator
Definition: PluginFunctions.hh:501
PluginFunctions::setEncodedExaminerView
void setEncodedExaminerView(QString _view)
Set the encoded view for the active examiner.
Definition: PluginFunctions.cc:218
PluginFunctions::scenegraphRegionPick
bool scenegraphRegionPick(ACG::SceneGraph::PickTarget _pickTarget, const QRegion &_region, QList< QPair< size_t, size_t > > &_list, QVector< float > *_depths, QVector< ACG::Vec3d > *_points)
Definition: PluginFunctions.cc:545
PluginFunctions::objectReferences
ObjectReferenceRange objectReferences(IteratorRestriction _restriction, DataType _dataType)
Iterable object range.
Definition: PluginFunctions.cc:1259
PluginFunctions::BaseObjectIterator::pointer
value_type * pointer
basic pointer type
Definition: PluginFunctions.hh:689
PluginFunctions::ObjectIterator::pos_
BaseObjectData * pos_
current position of the iterator
Definition: PluginFunctions.hh:494
PluginFunctions::baseObjectData
BaseObjectData * baseObjectData(BaseObject *_object)
Cast an BaseObject to a BaseObjectData if possible.
Definition: PluginFunctions.cc:1089
PluginFunctions::getEncodedExaminerView
QString getEncodedExaminerView()
Get the encoded view for the active examiner.
Definition: PluginFunctions.cc:198
PluginFunctions::addGlobalStatusNode
void addGlobalStatusNode(ACG::SceneGraph::BaseNode *_node)
Adds a global status node.
Definition: PluginFunctions.cc:965
ACG::SceneGraph::MouseEventAction
Definition: SceneGraph.hh:799
PluginFunctions::setSceneCenter
void setSceneCenter(const ACG::Vec3d &_center, int _viewer)
Definition: PluginFunctions.cc:762
ViewObjectMarker
Definition: ViewObjectMarker.hh:82
PluginFunctions::getAllMeshes
bool getAllMeshes(std::vector< int > &_identifiers)
Get identifiers of all meshes.
Definition: PluginFunctions.cc:349
PluginFunctions::BaseObjectIterator::dataType_
DataType dataType_
returned data types of the iterator
Definition: PluginFunctions.hh:735
Types.hh
PluginFunctions::BaseObjectIterator::restriction_
IteratorRestriction restriction_
Restriction of the iterator.
Definition: PluginFunctions.hh:738
DataType
Predefined datatypes.
Definition: DataTypes.hh:83
PluginFunctions::visibleCount
int visibleCount()
Get the number of visible objects.
Definition: PluginFunctions.cc:1022
PluginFunctions::ObjectIterator::reference
value_type & reference
reference type
Definition: PluginFunctions.hh:452
PluginFunctions::ObjectIterator
Core Data Iterator.
Definition: PluginFunctions.hh:441
ACG::SceneGraph::PickTarget
PickTarget
What target to use for picking.
Definition: PickTarget.hh:73
ACG::SceneGraph::BaseNode
Definition: BaseNode.hh:104
PluginFunctions::objectsEnd
DLLEXPORT ObjectIterator objectsEnd()
Return Iterator to Object End.
Definition: PluginFunctionsIterator.cc:177
BaseObject
Definition: BaseObject.hh:82
OpenMesh::VectorT
Definition: Vector11T.hh:83
PluginFunctions::setDataRoot
void setDataRoot(BaseObject *_root)
Definition: PluginFunctions.cc:140
PluginFunctions::setViewObjectMarker
void setViewObjectMarker(ViewObjectMarker *_marker)
Definition: PluginFunctions.cc:940
PluginFunctions::getOpenFileName
QString getOpenFileName(const QString &configProperty, QWidget *parent, const QString &caption, const QString &defaultDir, const QString &filter, QString *selectedFilter, QFileDialog::Options options)
Definition: PluginFunctions.cc:1171
PluginFunctions::mapToLocal
QPoint mapToLocal(const QPoint _point)
Map global coordinates to GL Widget local coordinates.
Definition: PluginFunctions.cc:427
PluginFunctions
Definition: PluginFunctions.cc:57
PluginFunctions::actionMode
Viewer::ActionMode actionMode()
Get the current Action mode.
Definition: PluginFunctions.cc:586
PluginFunctions::BaseObjectIterator::value_handle
BaseObject * value_handle
handle type (just an int)
Definition: PluginFunctions.hh:683
PluginFunctions::objectCount
int objectCount()
Get the number of available objects.
Definition: PluginFunctions.cc:1000
PluginFunctions::ObjectRange
Range adapter for ObjectIterator.
Definition: PluginFunctions.hh:583
BaseObjectData
Definition: BaseObjectData.hh:102
DATA_ALL
const DataType DATA_ALL(UINT_MAX)
Identifier for all available objects.
PluginFunctions::targetCount
int targetCount()
Get the number of target objects.
Definition: PluginFunctions.cc:1006
PluginFunctions::BaseObjectIterator::value_type
BaseObject value_type
type of the Objects the iterator works on
Definition: PluginFunctions.hh:680
PluginFunctions::BaseObjectIterator::reference
value_type & reference
reference type
Definition: PluginFunctions.hh:686
DLLEXPORT
#define DLLEXPORT
Definition: GlobalDefines.hh:95
PluginFunctions::getSaveFileName
QString getSaveFileName(const QString &configProperty, QWidget *parent, const QString &caption, const QString &defaultDir, const QString &filter, QString *selectedFilter, QFileDialog::Options options, const QString &defaultSuffix)
Definition: PluginFunctions.cc:1184
PluginFunctions::traverse
void traverse(ACG::SceneGraph::MouseEventAction &_action)
Definition: PluginFunctions.cc:569
PluginFunctions::objects
ObjectRange objects(IteratorRestriction _restriction, DataType _dataType)
Iterable object range.
Definition: PluginFunctions.cc:1255
PluginFunctions::examinerLightHandling
bool examinerLightHandling()
returns if internal light handling is active.
Definition: PluginFunctions.cc:152
PluginFunctions::getSceneGraphRootNode
ACG::SceneGraph::BaseNode * getSceneGraphRootNode()
get scenegraph root node
Definition: PluginFunctions.cc:957
PluginFunctions::pickMode
const std::string pickMode()
Get the current Picking mode.
Definition: PluginFunctions.cc:575
SceneGraph.hh
PluginFunctions::BaseObjectIterator
Core Data Iterator used to iterate over all objects (Including groups)
Definition: PluginFunctions.hh:675