Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
SplatCloud Class Reference

#include <ObjectTypes/SplatCloud/SplatCloud/SplatCloud.hh>

Classes

class  CloudPropertyInterface
 
class  CloudPropertyMapEntry
 
class  CloudPropertyT
 
class  PropertyHandleT
 
class  SplatPropertyInterface
 
class  SplatPropertyMapEntry
 
class  SplatPropertyT
 
struct  View
 

Public Types

typedef std::string BasePropertyHandle
 
typedef std::map
< BasePropertyHandle,
SplatPropertyMapEntry
SplatPropertyMap
 
typedef std::map
< BasePropertyHandle,
CloudPropertyMapEntry
CloudPropertyMap
 
Value types for predefined properties
typedef ACG::Vec3f Position
 
typedef ACG::Vec3uc Color
 
typedef ACG::Vec3f Normal
 
typedef float Pointsize
 
typedef int Index
 
typedef std::vector< ViewViewlist
 
typedef unsigned char Selection
 
Vector types for predefined properties
typedef std::vector< PositionPositionVector
 
typedef std::vector< ColorColorVector
 
typedef std::vector< NormalNormalVector
 
typedef std::vector< Pointsize > PointsizeVector
 
typedef std::vector< Index > IndexVector
 
typedef std::vector< Viewlist > ViewlistVector
 
typedef std::vector< Selection > SelectionVector
 

Public Member Functions

 SplatCloud ()
 Standard constructor.
 
 SplatCloud (const SplatCloud &_splatCloud)
 Copy constructor.
 
 ~SplatCloud ()
 Destructor.
 
SplatCloudoperator= (const SplatCloud &_splatCloud)
 Assign operator.
 
void clear ()
 Remove all properties and reset the number of splats.
 
void swap (SplatCloud &_splatCloud)
 Swap the content.
 
void clearSplats ()
 Clear the data vector of all splat-properties. More...
 
void pushbackSplat ()
 Add one element at the end of the data vector of all splat-properties. More...
 
void resizeSplats (unsigned int _num)
 Resize the data vector of all splat-properties. More...
 
template<typename T >
unsigned int eraseSplatsByIndex (const T &_indices)
 Delete the elements with given indices from the data vector of all splat-properties. More...
 
template<typename T >
unsigned int eraseSplatsByFlag (const std::vector< T > &_flags)
 Delete the elements with flag != 0 from the data vector of all splat-properties. More...
 
template<typename T >
void cropSplats (const T &_indices)
 Keep only the elements with given indices in the data vector of all splat-properties. The splats will be rearranged depending on the order of the indices. More...
 
unsigned int numSplats () const
 Get the number of splats. More...
 
void clearSplatProperties ()
 Clear all splat-properties.
 
void clearCloudProperties ()
 Clear all cloud-properties.
 
Request properties.
template<typename T >
SplatPropertyT< T > * requestSplatProperty (const PropertyHandleT< T > &_handle)
 Request a new property. More...
 
template<typename T >
CloudPropertyT< T > * requestCloudProperty (const PropertyHandleT< T > &_handle)
 Request a new property. More...
 
template<typename T >
SplatPropertyT< T > * requestSplatProperty (const BasePropertyHandle &_handle)
 Request a new property. More...
 
template<typename T >
CloudPropertyT< T > * requestCloudProperty (const BasePropertyHandle &_handle)
 Request a new property. More...
 
Release properties.
template<typename T >
SplatPropertyT< T > * releaseSplatProperty (const PropertyHandleT< T > &_handle)
 Release a property. More...
 
template<typename T >
CloudPropertyT< T > * releaseCloudProperty (const PropertyHandleT< T > &_handle)
 Release a property. More...
 
template<typename T >
SplatPropertyT< T > * releaseSplatProperty (const BasePropertyHandle &_handle)
 Release a property. More...
 
template<typename T >
CloudPropertyT< T > * releaseCloudProperty (const BasePropertyHandle &_handle)
 Release a property. More...
 
Get properties.
template<typename T >
SplatPropertyT< T > * getSplatProperty (const PropertyHandleT< T > &_handle)
 Get a pointer to a property. More...
 
template<typename T >
const SplatPropertyT< T > * getSplatProperty (const PropertyHandleT< T > &_handle) const
 Get a pointer to a property. More...
 
template<typename T >
CloudPropertyT< T > * getCloudProperty (const PropertyHandleT< T > &_handle)
 Get a pointer to a property. More...
 
template<typename T >
const CloudPropertyT< T > * getCloudProperty (const PropertyHandleT< T > &_handle) const
 Get a pointer to a property. More...
 
template<typename T >
SplatPropertyT< T > * getSplatProperty (const BasePropertyHandle &_handle)
 Get a pointer to a property. More...
 
template<typename T >
const SplatPropertyT< T > * getSplatProperty (const BasePropertyHandle &_handle) const
 Get a pointer to a property. More...
 
template<typename T >
CloudPropertyT< T > * getCloudProperty (const BasePropertyHandle &_handle)
 Get a pointer to a property. More...
 
template<typename T >
const CloudPropertyT< T > * getCloudProperty (const BasePropertyHandle &_handle) const
 Get a pointer to a property. More...
 
Get property maps.
const SplatPropertyMapsplatProperties () const
 Get all splat-properties. More...
 
const CloudPropertyMapcloudProperties () const
 Get all cloud-properties. More...
 
Request predefined properties.
bool requestPositions ()
 Request the predefined property. More...
 
bool requestColors ()
 Request the predefined property. More...
 
bool requestNormals ()
 Request the predefined property. More...
 
bool requestPointsizes ()
 Request the predefined property. More...
 
bool requestIndices ()
 Request the predefined property. More...
 
bool requestViewlists ()
 Request the predefined property. More...
 
bool requestSelections ()
 Request the predefined property. More...
 
Release predefined properties.
void releasePositions ()
 Release the predefined property. More...
 
void releaseColors ()
 Release the predefined property. More...
 
void releaseNormals ()
 Release the predefined property. More...
 
void releasePointsizes ()
 Release the predefined property. More...
 
void releaseIndices ()
 Release the predefined property. More...
 
void releaseViewlists ()
 Release the predefined property. More...
 
void releaseSelections ()
 Release the predefined property. More...
 
Get availability of predefined properties.
bool hasPositions () const
 Return the availability of the predefined property. More...
 
bool hasColors () const
 Return the availability of the predefined property. More...
 
bool hasNormals () const
 Return the availability of the predefined property. More...
 
bool hasPointsizes () const
 Return the availability of the predefined property. More...
 
bool hasIndices () const
 Return the availability of the predefined property. More...
 
bool hasViewlists () const
 Return the availability of the predefined property. More...
 
bool hasSelections () const
 Return the availability of the predefined property. More...
 
Get predefined properties.
Positionpositions (int _idx)
 Get a reference of the predefined property's value. More...
 
const Positionpositions (int _idx) const
 Get a reference of the predefined property's value. More...
 
Colorcolors (int _idx)
 Get a reference of the predefined property's value. More...
 
const Colorcolors (int _idx) const
 Get a reference of the predefined property's value. More...
 
Normalnormals (int _idx)
 Get a reference of the predefined property's value. More...
 
const Normalnormals (int _idx) const
 Get a reference of the predefined property's value. More...
 
Pointsize & pointsizes (int _idx)
 Get a reference of the predefined property's value. More...
 
const Pointsize & pointsizes (int _idx) const
 Get a reference of the predefined property's value. More...
 
Index & indices (int _idx)
 Get a reference of the predefined property's value. More...
 
const Index & indices (int _idx) const
 Get a reference of the predefined property's value. More...
 
Viewlist & viewlists (int _idx)
 Get a reference of the predefined property's value. More...
 
const Viewlist & viewlists (int _idx) const
 Get a reference of the predefined property's value. More...
 
Selection & selections (int _idx)
 Get a reference of the predefined property's value. More...
 
const Selection & selections (int _idx) const
 Get a reference of the predefined property's value. More...
 

Private Types

Type specific property-handle types for predefined properties
typedef PropertyHandleT< PositionPositionsHandle
 
typedef PropertyHandleT< ColorColorsHandle
 
typedef PropertyHandleT< NormalNormalsHandle
 
typedef PropertyHandleT
< Pointsize > 
PointsizesHandle
 
typedef PropertyHandleT< Index > IndicesHandle
 
typedef PropertyHandleT< Viewlist > ViewlistsHandle
 
typedef PropertyHandleT
< Selection > 
SelectionsHandle
 

Private Member Functions

void copySplatProperties (const SplatCloud &_splatCloud)
 Deep copy all splat-properties.
 
void copyCloudProperties (const SplatCloud &_splatCloud)
 Deep copy all cloud-properties.
 
void resetPredefinedSplatPropertyPointers ()
 Reset pointers to predefined splat-properties.
 
void resetPredefinedCloudPropertyPointers ()
 Reset pointers to predefined cloud-properties.
 
void getPredefinedSplatPropertyPointers ()
 Get pointers to predefined splat-properties.
 
void getPredefinedCloudPropertyPointers ()
 Get pointers to predefined cloud-properties.
 
void swapPredefinedSplatPropertyPointers (SplatCloud &_splatCloud)
 Swap pointers to predefined splat-properties.
 
void swapPredefinedCloudPropertyPointers (SplatCloud &_splatCloud)
 Swap pointers to predefined cloud-properties.
 

Private Attributes

unsigned int numSplats_
 Number of splats.
 
SplatPropertyMap splatProperties_
 Splat-property map.
 
CloudPropertyMap cloudProperties_
 Cloud-property map.
 
Pointers to predefined properties
SplatPropertyT< Position > * positionsProperty_
 
SplatPropertyT< Color > * colorsProperty_
 
SplatPropertyT< Normal > * normalsProperty_
 
SplatPropertyT< Pointsize > * pointsizesProperty_
 
SplatPropertyT< Index > * indicesProperty_
 
SplatPropertyT< Viewlist > * viewlistsProperty_
 
SplatPropertyT< Selection > * selectionsProperty_
 

Static Private Attributes

Type specific property-handles for predefined properties
static const PositionsHandle POSITIONS_HANDLE
 
static const ColorsHandle COLORS_HANDLE
 
static const NormalsHandle NORMALS_HANDLE
 
static const PointsizesHandle POINTSIZES_HANDLE
 
static const IndicesHandle INDICES_HANDLE
 
static const ViewlistsHandle VIEWLISTS_HANDLE
 
static const SelectionsHandle SELECTIONS_HANDLE
 

Detailed Description

Storage of properties for each splat and for the whole splatcloud.

Definition at line 85 of file SplatCloud.hh.

Member Typedef Documentation

typedef std::string SplatCloud::BasePropertyHandle

Base class for all property-handles

Definition at line 209 of file SplatCloud.hh.

Cloud-property map type

Definition at line 281 of file SplatCloud.hh.

Splat-property map type

Definition at line 276 of file SplatCloud.hh.

Member Function Documentation

void SplatCloud::clearSplats ( )

Clear the data vector of all splat-properties.

Note
The number of splats will be updated accordingly.

Definition at line 222 of file SplatCloud.cc.

const CloudPropertyMap& SplatCloud::cloudProperties ( ) const
inline

Get all cloud-properties.

Note
Be careful, std::map's count() method will not check for the appropiate type of a property. Instead use something like CloudPropertyT<MyPropType> *myProp = mySplatCloud.getCloudProperty<MyPropType>( "MyPropName" ); once and then check for myProp != 0 multiple times if needed.
Returns
Returns the property map as read-only reference.

Definition at line 463 of file SplatCloud.hh.

Color& SplatCloud::colors ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 639 of file SplatCloud.hh.

const Color& SplatCloud::colors ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 640 of file SplatCloud.hh.

template<typename T >
void SplatCloud::cropSplats ( const T &  _indices)

Keep only the elements with given indices in the data vector of all splat-properties. The splats will be rearranged depending on the order of the indices.

Use std::vector<T2> / std::list<T2> / std::deque<T2> / ... for T and int / unsigned int / ... for T2.

Note
The number of splats will be updated accordingly.
Parameters
[in]_indicesIndices of the elements to be kept in the order given by the indices.

Definition at line 142 of file SplatCloudT.cc.

template<typename T >
unsigned int SplatCloud::eraseSplatsByFlag ( const std::vector< T > &  _flags)

Delete the elements with flag != 0 from the data vector of all splat-properties.

Use bool / unsigned char / ... for T. _flags.size() has to be equal to numSplats().

Note
The number of splats will be updated accordingly.
Parameters
[in]_flagsVector of flag bits, one for each element.
Returns
Returns the number of deleted elements.

Definition at line 98 of file SplatCloudT.cc.

template<typename T >
unsigned int SplatCloud::eraseSplatsByIndex ( const T &  _indices)

Delete the elements with given indices from the data vector of all splat-properties.

Use std::vector<T2> / std::list<T2> / std::set<T2> / ... for T and int / unsigned int / ... for T2.

Note
The number of splats will be updated accordingly.
Parameters
[in]_indicesIndices of the elements to be erased.
Returns
Returns the number of deleted elements.

Definition at line 70 of file SplatCloudT.cc.

template<typename T >
SplatCloud::CloudPropertyT< T > * SplatCloud::getCloudProperty ( const PropertyHandleT< T > &  _handle)

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 379 of file SplatCloudT.cc.

template<typename T >
const SplatCloud::CloudPropertyT< T > * SplatCloud::getCloudProperty ( const PropertyHandleT< T > &  _handle) const

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 393 of file SplatCloudT.cc.

template<typename T >
CloudPropertyT<T>* SplatCloud::getCloudProperty ( const BasePropertyHandle _handle)
inline

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 434 of file SplatCloud.hh.

template<typename T >
const CloudPropertyT<T>* SplatCloud::getCloudProperty ( const BasePropertyHandle _handle) const
inline

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 435 of file SplatCloud.hh.

template<typename T >
SplatCloud::SplatPropertyT< T > * SplatCloud::getSplatProperty ( const PropertyHandleT< T > &  _handle)

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 351 of file SplatCloudT.cc.

template<typename T >
const SplatCloud::SplatPropertyT< T > * SplatCloud::getSplatProperty ( const PropertyHandleT< T > &  _handle) const

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 365 of file SplatCloudT.cc.

template<typename T >
SplatPropertyT<T>* SplatCloud::getSplatProperty ( const BasePropertyHandle _handle)
inline

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 432 of file SplatCloud.hh.

template<typename T >
const SplatPropertyT<T>* SplatCloud::getSplatProperty ( const BasePropertyHandle _handle) const
inline

Get a pointer to a property.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. return If the property is present, a pointer to the property is returned. Otherwise 0 is returned.

Definition at line 433 of file SplatCloud.hh.

bool SplatCloud::hasColors ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 614 of file SplatCloud.hh.

bool SplatCloud::hasIndices ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 617 of file SplatCloud.hh.

bool SplatCloud::hasNormals ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 615 of file SplatCloud.hh.

bool SplatCloud::hasPointsizes ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 616 of file SplatCloud.hh.

bool SplatCloud::hasPositions ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 613 of file SplatCloud.hh.

bool SplatCloud::hasSelections ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 619 of file SplatCloud.hh.

bool SplatCloud::hasViewlists ( ) const
inline

Return the availability of the predefined property.

Note
In contrast to the general properties this method is in O(1) so it can be provided safely.
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 618 of file SplatCloud.hh.

Index& SplatCloud::indices ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 645 of file SplatCloud.hh.

const Index& SplatCloud::indices ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 646 of file SplatCloud.hh.

Normal& SplatCloud::normals ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 641 of file SplatCloud.hh.

const Normal& SplatCloud::normals ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 642 of file SplatCloud.hh.

unsigned int SplatCloud::numSplats ( ) const
inline

Get the number of splats.

Returns
Returns the number of splats.

Definition at line 185 of file SplatCloud.hh.

Pointsize& SplatCloud::pointsizes ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 643 of file SplatCloud.hh.

const Pointsize& SplatCloud::pointsizes ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 644 of file SplatCloud.hh.

Position& SplatCloud::positions ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 637 of file SplatCloud.hh.

const Position& SplatCloud::positions ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 638 of file SplatCloud.hh.

void SplatCloud::pushbackSplat ( )

Add one element at the end of the data vector of all splat-properties.

Note
The number of splats will be updated accordingly.

Definition at line 237 of file SplatCloud.cc.

template<typename T >
SplatCloud::CloudPropertyT< T > * SplatCloud::releaseCloudProperty ( const PropertyHandleT< T > &  _handle)

Release a property.

Removes the property if present. Otherwise nothing is removed.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the property to remove. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is present and will not be removed, a pointer to the old property is returned. Otherwise 0 is returned.

Definition at line 312 of file SplatCloudT.cc.

template<typename T >
CloudPropertyT<T>* SplatCloud::releaseCloudProperty ( const BasePropertyHandle _handle)
inline

Release a property.

Removes the property if present. Otherwise nothing is removed.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the property to remove. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is present and will not be removed, a pointer to the old property is returned. Otherwise 0 is returned.

Definition at line 409 of file SplatCloud.hh.

void SplatCloud::releaseColors ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 591 of file SplatCloud.hh.

void SplatCloud::releaseIndices ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 594 of file SplatCloud.hh.

void SplatCloud::releaseNormals ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 592 of file SplatCloud.hh.

void SplatCloud::releasePointsizes ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 593 of file SplatCloud.hh.

void SplatCloud::releasePositions ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 590 of file SplatCloud.hh.

void SplatCloud::releaseSelections ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 596 of file SplatCloud.hh.

template<typename T >
SplatCloud::SplatPropertyT< T > * SplatCloud::releaseSplatProperty ( const PropertyHandleT< T > &  _handle)

Release a property.

Removes the property if present. Otherwise nothing is removed.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the property to remove. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is present and will not be removed, a pointer to the old property is returned. Otherwise 0 is returned.

Definition at line 273 of file SplatCloudT.cc.

template<typename T >
SplatPropertyT<T>* SplatCloud::releaseSplatProperty ( const BasePropertyHandle _handle)
inline

Release a property.

Removes the property if present. Otherwise nothing is removed.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the property to remove. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is present and will not be removed, a pointer to the old property is returned. Otherwise 0 is returned.

Definition at line 408 of file SplatCloud.hh.

void SplatCloud::releaseViewlists ( )
inline

Release the predefined property.

See the releaseSplatProperty() or releaseCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).

Definition at line 595 of file SplatCloud.hh.

template<typename T >
SplatCloud::CloudPropertyT< T > * SplatCloud::requestCloudProperty ( const PropertyHandleT< T > &  _handle)

Request a new property.

Adds the new property if not already present. Otherwise nothing is added.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is already present, a pointer to the old property is returned and no new property is created or added. Otherwise a pointer to the newly created property is returned. If the creation fails, 0 is returned and no new property is added.

Definition at line 238 of file SplatCloudT.cc.

template<typename T >
CloudPropertyT<T>* SplatCloud::requestCloudProperty ( const BasePropertyHandle _handle)
inline

Request a new property.

Adds the new property if not already present. Otherwise nothing is added.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is already present, a pointer to the old property is returned and no new property is created or added. Otherwise a pointer to the newly created property is returned. If the creation fails, 0 is returned and no new property is added.

Definition at line 384 of file SplatCloud.hh.

bool SplatCloud::requestColors ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 568 of file SplatCloud.hh.

bool SplatCloud::requestIndices ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 571 of file SplatCloud.hh.

bool SplatCloud::requestNormals ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 569 of file SplatCloud.hh.

bool SplatCloud::requestPointsizes ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 570 of file SplatCloud.hh.

bool SplatCloud::requestPositions ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 567 of file SplatCloud.hh.

bool SplatCloud::requestSelections ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 573 of file SplatCloud.hh.

template<typename T >
SplatCloud::SplatPropertyT< T > * SplatCloud::requestSplatProperty ( const PropertyHandleT< T > &  _handle)

Request a new property.

Adds the new property if not already present. Otherwise nothing is added.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is already present, a pointer to the old property is returned and no new property is created or added. Otherwise a pointer to the newly created property is returned. If the creation fails, 0 is returned and no new property is added.

Definition at line 196 of file SplatCloudT.cc.

template<typename T >
SplatPropertyT<T>* SplatCloud::requestSplatProperty ( const BasePropertyHandle _handle)
inline

Request a new property.

Adds the new property if not already present. Otherwise nothing is added.

Note
Be careful, this method is not in O(1).
Parameters
[in]_handleA handle of the desired property. Do not use handle-strings inbetween '<' and '>'. These are reserved for predefined properties.
Returns
If the property is already present, a pointer to the old property is returned and no new property is created or added. Otherwise a pointer to the newly created property is returned. If the creation fails, 0 is returned and no new property is added.

Definition at line 383 of file SplatCloud.hh.

bool SplatCloud::requestViewlists ( )
inline

Request the predefined property.

See the requestSplatProperty() or requestCloudProperty() method for more detail.

Note
Be careful, this method is not in O(1).
Returns
Returns true if the predefined property is available, otherwise false.

Definition at line 572 of file SplatCloud.hh.

void SplatCloud::resizeSplats ( unsigned int  _num)

Resize the data vector of all splat-properties.

Note
The number of splats will be updated accordingly.
Parameters
[in]_numThe new size of all data vectors.

Definition at line 252 of file SplatCloud.cc.

Selection& SplatCloud::selections ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 649 of file SplatCloud.hh.

const Selection& SplatCloud::selections ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 650 of file SplatCloud.hh.

const SplatPropertyMap& SplatCloud::splatProperties ( ) const
inline

Get all splat-properties.

Note
Be careful, std::map's count() method will not check for the appropiate type of a property. Instead use something like SplatPropertyT<MyPropType> *myProp = mySplatCloud.getSplatProperty<MyPropType>( "MyPropName" ); once and then check for myProp != 0 multiple times if needed.
Returns
Returns the property map as read-only reference.

Definition at line 453 of file SplatCloud.hh.

Viewlist& SplatCloud::viewlists ( int  _idx)
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 647 of file SplatCloud.hh.

const Viewlist& SplatCloud::viewlists ( int  _idx) const
inline

Get a reference of the predefined property's value.

Note
Be careful, this method does not check the availability of the predefined property and will probably crash if it's not available.
Parameters
[in]_idxThe index of the desired entry in the predefined property's data vector. This is the same as the index of the splat.
Returns
Returns a reference of the predefined property's value.

Definition at line 648 of file SplatCloud.hh.


The documentation for this class was generated from the following files: