Image Component Library (ICL)
|
PointCloudObject implementation for the PCLPointCloud types. More...
#include <PCLPointCloudObject.h>
Public Member Functions | |
PCLPointCloudObject (int width, int height=-1, const PCLPointType &init=PCLPointType()) | |
creates a PCLPointCloudObject with given width height and intial value More... | |
PCLPointCloudObject (const PCLPointCloudObject< PCLPointType > &other) | |
deeply copying copy constructor More... | |
PCLPointCloudObject< PCLPointType > & | operator= (const PCLPointCloudObject< PCLPointType > &other) |
deeply copying assignment operator More... | |
PCLPointCloudObject (const pcl::PointCloud< PCLPointType > &cloud) | |
const wrapper for given pcl-pointcloud (deep copy only) More... | |
PCLPointCloudObject (pcl::PointCloud< PCLPointType > &cloud, bool deepCopy=true) | |
wrapps given pcl-point-cloud (optionally shallowly copied) More... | |
~PCLPointCloudObject () | |
Destructor. More... | |
pcl::PointCloud< PCLPointType > & | pcl () |
grants access to the underlying pcl-point-cloud More... | |
const pcl::PointCloud< PCLPointType > & | pcl () const |
grants access to the underlying pcl-point-cloud (const) More... | |
void | setPCL (const pcl::PointCloud< PCLPointType > &pcl) |
sets wrapped PCL point cloud (const, always deeply copied) More... | |
void | setPCL (pcl::PointCloud< PCLPointType > &pcl, bool deepCopy=true) |
sets wrapped PCL point cloud (const, always deeply copied) More... | |
virtual bool | supports (FeatureType t) const |
generic version, that trys to get an offset (can be optimized with specialization) More... | |
virtual bool | isOrganized () const |
returns whether pointcloud is 2D organized More... | |
virtual utils::Size | getSize () const |
returns the 2D size of the pointcloud (throws exception if not ordered) More... | |
virtual int | getDim () const |
return the linearily ordered number of point in the point cloud More... | |
virtual void | setSize (const utils::Size &size) |
adapts the point cloud size More... | |
bool | isNull () const |
virtual core::DataSegment< float, 1 > | selectIntensity () |
well known feature Intensity (single float values) More... | |
virtual core::DataSegment< icl32s, 1 > | selectLabel () |
well known feature Intensity (single 32bit int values) More... | |
virtual core::DataSegment< icl8u, 3 > | selectBGR () |
well known feature Intensity (three byte vectors ordered BGR) More... | |
virtual core::DataSegment< icl8u, 4 > | selectBGRA () |
well known feature Intensity (four byte vectors ordered BGRA) More... | |
virtual core::DataSegment< icl32s, 1 > | selectBGRA32s () |
well known feature Intensity (single int value encoding byte-wise BGRA) More... | |
virtual core::DataSegment< float, 3 > | selectXYZ () |
well know features XYZ (three floats, this feature must usually be available) More... | |
virtual core::DataSegment< float, 4 > | selectXYZH () |
common way to store XYZ-data (4th float define homogeneous part) More... | |
virtual core::DataSegment< float, 4 > | selectNormal () |
well known feature Normal (4 float values) More... | |
virtual core::DataSegment< float, 4 > | selectRGBA32f () |
well known feature RGBA (4 float values, ordred RGBA) More... | |
virtual core::DataSegmentBase | select (const std::string &featureName) |
selects a dynamic feature More... | |
virtual PCLPointCloudObject< PCLPointType > * | copy () const |
deep copy interface More... | |
Public Member Functions inherited from icl::geom::PointCloudObjectBase | |
PointCloudObjectBase () | |
Default constructor. More... | |
virtual void | setTime (const utils::Time &t) |
sets the current timestamp More... | |
virtual const utils::Time & | getTime () const |
returns the current timestamp More... | |
virtual bool | canAddFeature (FeatureType t) const |
interface function for dynamic Point cloud types that can dynamically add features More... | |
virtual void | addFeature (FeatureType t) |
interface for adding a feature to an existing point cloud instance More... | |
void | setDim (int dim) |
sets the number of contained points (and enables the unorganized mode) More... | |
virtual core::DataSegment< float, 1 > | selectDepth () |
well known feature Depth (single float values) More... | |
const core::DataSegment< float, 3 > | selectXYZ () const |
const xyz data More... | |
const core::DataSegment< float, 4 > | selectXYZH () const |
const xyzh data More... | |
const core::DataSegment< float, 1 > | selectIntensity () const |
const intensity data More... | |
const core::DataSegment< float, 1 > | selectDepth () const |
const intensity data More... | |
const core::DataSegment< icl32s, 1 > | selectLabel () const |
const label data More... | |
const core::DataSegment< icl8u, 3 > | selectBGR () const |
const bgr data More... | |
const core::DataSegment< icl8u, 4 > | selectBGRA () const |
const rgba data More... | |
const core::DataSegment< icl32s, 1 > | selectBGRA32s () const |
const bgra32s data More... | |
const core::DataSegment< float, 4 > | selectNormal () const |
const normals data More... | |
const core::DataSegment< float, 4 > | selectRGBA32f () const |
const rgba32f data More... | |
const core::DataSegmentBase | select (const std::string &featureName) const |
const dynamic/custom data More... | |
void | setColorsFromImage (const core::ImgBase &image) |
tints the point cloud pixel from the given image data More... | |
void | extractColorsToImage (core::ImgBase &image, bool withAlpha=false) const |
extracts the color information and stores it into the given image More... | |
void | setDefaultVertexColor (const GeomColor &color) |
sets the color that is used to render points if color information is available More... | |
virtual GeomColor | getDefaultVertexColor () const |
implements the SceneObject's virtual getter function for this feature More... | |
virtual std::vector< std::string > | getSupportedDynamicFeatures () const |
For subclasses that provide Dynamic features, this function must be implemented. More... | |
virtual void | customRender () |
custom rendering method More... | |
void | setUseDrawNormalLines (bool use, float lineLength=40, int granularity=4) |
set use draw normal lines More... | |
void | setUseMasking (bool use, core::Img8u &mask) |
void | setUseTriangulation (bool use, float maxDelta=50) |
void | setUseTexturing (bool use, core::Img8u &tex, core::DataSegment< float, 2 > texCoords) |
virtual void | deepCopy (PointCloudObjectBase &dst) const |
deeply copies all well-known features that are shared by this and dst More... | |
virtual bool | equals (const PointCloudObjectBase &dst, bool compareOnlySharedFeatures=false, bool allowDifferentColorTypes=true, float tollerance=1.0e-5) const |
returns whether two points clouds are equal More... | |
std::map< std::string, std::string > & | getMetaData () |
returns the meta data associated with this point cloud object More... | |
const std::map< std::string, std::string > & | getMetaData () const |
returns the meta data associated with this point cloud object (const) More... | |
const std::string & | getMetaData (const std::string &key) const |
returns the meta data associated with a given key More... | |
bool | hasMetaData (const std::string &key) const |
returns whether meta data to the given key is associated More... | |
bool | hasAnyMetaData () const |
returns whether any meta data is available More... | |
void | setMetaData (const std::string &key, const std::string &value) |
sets the meta data entry for given key to value More... | |
void | clearAllMetaData () |
deletes all meta data entries More... | |
void | clearMetaData (const std::string &key) |
clears the meta data for a given key More... | |
std::vector< std::string > | getAllMetaDataEntries () const |
returns a list of all available meta data entires More... | |
Public Member Functions inherited from icl::geom::SceneObject | |
ICLGeom_API | SceneObject () |
create an object More... | |
ICLGeom_API | SceneObject (const std::string &type, const float *params) |
create by string: More... | |
ICLGeom_API | SceneObject (const std::string &objFileName) |
creates a scene object from given .obj file More... | |
SceneObject (const SceneObject &other) | |
deep copy of SceneObject instance More... | |
ICLGeom_API SceneObject & | operator= (const SceneObject &other) |
assignment operator for deep copy More... | |
virtual ICLGeom_API | ~SceneObject () |
Empty destructor (but virtual) More... | |
ICLGeom_API std::vector< Vec > & | getVertices () |
returns object vertices More... | |
ICLGeom_API const std::vector< Vec > & | getVertices () const |
returns object vertices (const) More... | |
ICLGeom_API const std::vector< Vec > & | getNormals () const |
returns object normals (const) More... | |
ICLGeom_API std::vector< GeomColor > & | getVertexColors () |
returns object vertex colors More... | |
ICLGeom_API const std::vector< GeomColor > & | getVertexColors () const |
returns object vertex colors (const) More... | |
ICLGeom_API std::vector< Primitive * > & | getPrimitives () |
returns object's primitives (lines, quads, etc...) More... | |
ICLGeom_API const std::vector< Primitive * > & | getPrimitives () const |
returns object's primitives (lines, quads, etc...) (const) More... | |
ICLGeom_API void | setVisible (int oredTypes, bool visible, bool recursive=true) |
changes visibility of given primitive type More... | |
ICLGeom_API void | setVisible (const std::string &what, bool recursive=true) |
convenience method that allows for setting several visibility properties at once More... | |
void | setVisible (const char *what, bool recursive=true) |
explicit version for const char pointer to avoid an explicit cast to bool/int More... | |
ICLGeom_API bool | isVisible (Primitive::Type t) const |
returns visibility of given primitive type More... | |
virtual ICLGeom_API bool | isInvisibleForCamera (int camIndex) const |
this can be overwrittern in subclasses to hide an object for given camera indices More... | |
ICLGeom_API void | addVertex (const Vec &p, const GeomColor &color=GeomColor(255, 0, 0, 255)) |
adds a new vertex to this object More... | |
ICLGeom_API void | addSharedTexture (utils::SmartPtr< qt::GLImg > gli) |
adds a GLImg as shared texture More... | |
ICLGeom_API void | addSharedTexture (const core::ImgBase *image, core::scalemode sm=core::interpolateLIN) |
adds an core::ImgBase * as shared texutre More... | |
ICLGeom_API void | addNormal (const Vec &n) |
adds a new normal to this object More... | |
ICLGeom_API void | addLine (int x, int y, const GeomColor &color=GeomColor(100, 100, 100, 255)) |
adds a new line to this object More... | |
ICLGeom_API void | addTriangle (int a, int b, int c, int na, int nb, int nc, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
adds a new triangle to this onject More... | |
void | addTriangle (int a, int b, int c, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
convenience method for creation of a triangle with auto-normals More... | |
ICLGeom_API void | addQuad (int a, int b, int c, int d, int na, int nb, int nc, int nd, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
adds a new triangle to this onject More... | |
void | addQuad (int a, int b, int c, int d, const GeomColor &color=GeomColor(0, 100, 250, 255)) |
convenience method for creation of a quad with auto-normals More... | |
ICLGeom_API void | addPolygon (int nPoints, const int *vertexIndices, const GeomColor &color=GeomColor(0, 100, 250, 255), const int *normalIndices=0) |
add a polygon to this object (note triangles and quads are slower here) More... | |
ICLGeom_API void | addTexture (int a, int b, int c, int d, const core::ImgBase *texture, int na, int nb, int nc, int nd, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
void | addTexture (int a, int b, int c, int d, const core::ImgBase *texture, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
convenience method for creation of a texture with auto-normals More... | |
ICLGeom_API void | addTexture (int a, int b, int c, int d, int sharedTextureIndex, int na=-1, int nb=-1, int nc=-1, int nd=-1) |
adds are shared texture primitive More... | |
ICLGeom_API void | addTexture (const core::ImgBase *image, int numPoints, const int *vertexIndices, const utils::Point32f *texCoords, const int *normalIndices=0, bool createTextureOnce=true) |
adds a GenericTexturePrimitive for custom texCoords More... | |
ICLGeom_API void | addTextureGrid (int w, int h, const core::ImgBase *image, const icl32f *px, const icl32f *py, const icl32f *pz, const icl32f *pnx=0, const icl32f *pny=0, const icl32f *pnz=0, int stride=1, bool createTextureOnce=true, core::scalemode sm=core::interpolateLIN) |
adds a texture that is drawn on a 2D grid of vertices in 3D space More... | |
ICLGeom_API void | addTwoSidedTextureGrid (int w, int h, const core::ImgBase *front, const core::ImgBase *back, const icl32f *px, const icl32f *py, const icl32f *pz, const icl32f *pnx=0, const icl32f *pny=0, const icl32f *pnz=0, int stride=1, bool createFrontOnce=true, bool createBackOnce=true, core::scalemode sm=core::interpolateLIN) |
adds a texture grid that has two different texture for the two faces More... | |
ICLGeom_API void | addTwoSidedTGrid (int w, int h, const Vec *vertices, const Vec *normals=0, const GeomColor &frontColor=GeomColor(0, 100, 255, 255), const GeomColor &backColor=GeomColor(255, 0, 100, 255), const GeomColor &lineColor=GeomColor(0, 255, 100, 255), bool drawLines=false, bool drawQuads=true) |
adds a two sided grid (sides may have different colors) More... | |
ICLGeom_API void | addTextTexture (int a, int b, int c, int d, const std::string &text, const GeomColor &color, int na, int nb, int nc, int nd, int textSize, core::scalemode sm=core::interpolateLIN) |
adds text-texture quad -primitive to this object More... | |
void | addTextTexture (int a, int b, int c, int d, const std::string &text, const GeomColor &color=GeomColor(255, 255, 255, 255), int textSize=30, core::scalemode sm=core::interpolateLIN) |
convenience method for creation of a text-texture with auto-normals More... | |
ICLGeom_API void | addText (int a, const std::string &text, float billboardHeight=10, const GeomColor &color=GeomColor(255, 255, 255, 255), int textRenderSize=30, core::scalemode sm=core::interpolateLIN) |
adds a billboard text-texture attached to given node index a More... | |
void | addCustomPrimitive (Primitive *p) |
adds a custom primitive More... | |
SceneObject * | addCube (float x, float y, float z, float d) |
adds a cube child-object with given parameters More... | |
ICLGeom_API SceneObject * | addCuboid (float x, float y, float z, float dx, float dy, float dz) |
adds a cuboid child-object with given parameters More... | |
SceneObject * | addSphere (float x, float y, float z, float r, int rzSteps, int xySlices) |
adds a cuboid child-object with given parameters More... | |
ICLGeom_API SceneObject * | addSpheroid (float x, float y, float z, float rx, float ry, float rz, int rzSteps, int xySlices) |
adds a cuboid child-object with given parameters More... | |
ICLGeom_API SceneObject * | addCylinder (float x, float y, float z, float rx, float ry, float h, int steps) |
adds a cylindical child object with given parameters More... | |
ICLGeom_API SceneObject * | addCone (float x, float y, float z, float rx, float ry, float h, int steps) |
adds a conical child object with given parameters More... | |
ICLGeom_API void | setColor (Primitive::Type t, const GeomColor &color, bool recursive=true) |
tints all Primitives with given type in given color More... | |
ICLGeom_API void | setPointSize (float pointSize, bool recursive=true) |
sets point size More... | |
ICLGeom_API void | setLineWidth (float lineWidth, bool recursive=true) |
sets point size More... | |
ICLGeom_API void | setUseCustomRender (bool use, bool recursive=true) |
if set, only custom render is used More... | |
virtual void | prepareForRendering () |
called by the renderer before the object is rendered More... | |
virtual void | complexCustomRender (icl::geom::ShaderUtil *util) |
this function is called when an object is rendered More... | |
ICLGeom_API void | setColorsFromVertices (Primitive::Type t, bool on, bool recursive=true) |
sets how 2D-geom colors are set More... | |
ICLGeom_API bool | getSmoothShading () const |
returns wheather smooth shading is activated More... | |
ICLGeom_API void | setSmoothShading (bool on, bool recursive=true) |
sets whether to use smoothshading (default is false) More... | |
ICLGeom_API void | createAutoNormals (bool smooth=true) |
automatically creates precomputed normals More... | |
ICLGeom_API Hit | hit (const ViewRay &v, bool recursive=true) |
returns whether this object is hit by the given viewray More... | |
const Hit | hit (const ViewRay &v, bool recursive=true) const |
returns whether this object is hit by the given viewray (const) More... | |
ICLGeom_API std::vector< Hit > | hits (const ViewRay &v, bool recursive=true) |
returns all hits with SceneObjects form the given viewray More... | |
ICLGeom_API std::vector< Vec > | getTransformedVertices () const |
returns all vertices in their final world coordinates More... | |
ICLGeom_API Vec | getClosestVertex (const Vec &pWorld, bool relative=false) |
returns the vertex, that is closest to the given point in wold coordinates More... | |
ICLGeom_API void | setVisible (bool visible, bool recursive=true) |
sets the visibility of this object More... | |
bool | isVisible () const |
returns whether this object is currently visible More... | |
void | hide (bool recursive=true) |
calls setVisible(false) More... | |
void | show (bool recursive=true) |
calls setVisible(true) More... | |
void | setLockingEnabled (bool enabled) |
sets locking enabled or disabled More... | |
bool | getLockingEnabled () const |
returns whether locking is current enabled for this object More... | |
virtual void | lock () const |
locks the internal mutex if locking enabled is set to true More... | |
virtual void | unlock () const |
unlocks the internal mutex if locking enabled is set to true More... | |
void | setPointSmoothingEnabled (bool enabled=true) |
sets whether points are visualized in a smoothed manner More... | |
void | setLineSmoothingEnabled (bool enabled=true) |
sets whether lines are visualized in a smoothed manner More... | |
void | setPolygonSmoothingEnabled (bool enabled=true) |
sets whether faces are visualized in a smoothed manner More... | |
ICLGeom_API void | clearAllPrimitives () |
deletes and removes all primitives More... | |
virtual ICLGeom_API void | clearObject (bool deleteAndRemoveChildren=true, bool resetTransform=false) |
deletes all primitive and all vertex, color and normal content (and optionally also the children) More... | |
ICLGeom_API void | createDisplayList () |
creates a displaylist in the next render cycle More... | |
ICLGeom_API void | freeDisplayList () |
frees the displaylist in the next render cycle More... | |
ICLGeom_API void | setFragmentShader (qt::GLFragmentShader *shader) |
sets a fragment shader to use for this object More... | |
qt::GLFragmentShader * | getFragmentShader () |
returns the current fragment shader (or NULL if non was given) More... | |
const qt::GLFragmentShader * | getFragmentShader () const |
returns the current fragment shader (or NULL if non was given, const version) More... | |
void | setCastShadowsEnabled (bool castShadows=true) |
bool | getCastShadowsEnabled () |
void | setReceiveShadowsEnabled (bool receiveShadows=true) |
bool | getReceiveShadowsEnabled () |
void | setShininess (icl8u value) |
sets the material shininess (default is 128) More... | |
void | setSpecularReflectance (const GeomColor &values) |
sets the materials specular reflectance More... | |
bool | getDepthTestEnabled () const |
returns whether depth test is enabled for this object More... | |
void | setDepthTestEnabled (bool enabled, bool recursive=true) |
sets whether depth test is enabled for this object More... | |
float | getPointHitMaxDistance () const |
returns the maximum distance to a pointing viewraw More... | |
void | setPointHitMaxDistance (float d) |
sets the maximum distance to a pointing view-ray More... | |
virtual ICLGeom_API void | setTransformation (const Mat &m) |
Sets a transformation matrix. More... | |
ICLGeom_API void | removeTransformation () |
sets the internal transformation to the identity matrix More... | |
virtual ICLGeom_API void | transform (const Mat &m) |
multiplies the current transformation matrix by given matrix More... | |
template<class T > | |
void | transform (const T &m) |
utility method for passing arbitrary matrix classes More... | |
virtual ICLGeom_API void | rotate (float rx, float ry, float rz, icl::math::AXES axes=icl::math::AXES_DEFAULT) |
rotates the scene object (this affects it's transformation matrix) More... | |
template<class T > | |
void | rotate (const T &t, icl::math::AXES axes=icl::math::AXES_DEFAULT) |
utility wrapper for vector based rotation More... | |
virtual ICLGeom_API void | translate (float dx, float dy, float dz) |
translates the scene object (this affects it's translates matrix) More... | |
template<class T > | |
void | translate (const T &t) |
utility wrapper for vector based translation More... | |
virtual ICLGeom_API void | scale (float sx, float sy, float sz) |
transformes the current transformation matrix by a scale matrix More... | |
template<class T > | |
void | scale (const T &t) |
utility wrapper for vector based scaling More... | |
ICLGeom_API Mat | getTransformation (bool relative=false) const |
returns the current transformation matrix More... | |
ICLGeom_API bool | hasTransformation (bool relative=false) const |
returns whether the SceneObject has currently a non-ID-transformation More... | |
ICLGeom_API SceneObject * | getParent () |
returns the parent scene object More... | |
ICLGeom_API const SceneObject * | getParent () const |
returns the parent scene object (const version) More... | |
ICLGeom_API void | addChild (SceneObject *child, bool passOwnerShip=true) |
adds a new child to this scene object More... | |
void | addChild (utils::SmartPtr< SceneObject > child) |
directly passes a smart pointer as a child More... | |
ICLGeom_API void | removeChild (SceneObject *child) |
removes given child More... | |
ICLGeom_API void | removeAllChildren () |
removes all children More... | |
ICLGeom_API bool | hasChildren () const |
returns whether the SceneObject has children at all More... | |
ICLGeom_API int | getChildCount () const |
returns the number of children More... | |
ICLGeom_API SceneObject * | getChild (int index) |
returns child at given index More... | |
ICLGeom_API const SceneObject * | getChild (int index) const |
returns child at given index (const) More... | |
utils::SmartPtr< SceneObject > | getChildPtr (int index) |
returns a shared pointer to the child at given index More... | |
ICLGeom_API bool | hasChild (const SceneObject *o) const |
returns whether the given object is a child of this one More... | |
Private Types | |
typedef PCLPointType | Entry |
internally used typedef More... | |
Private Member Functions | |
int | offset (FeatureType) const |
this is actually specialized for the different types More... | |
icl8u * | data () |
returns the data orignin pointer More... | |
const icl8u * | data () const |
returns the data orignin pointer (const) More... | |
template<class T , int N, FeatureType t> | |
core::DataSegment< T, N > | createSegment () |
creates a data segment for a given feature type More... | |
void | deletePCL () |
savely delets the pcl_image More... | |
Private Attributes | |
pcl::PointCloud< PCLPointType > * | m_pcl |
internal pcl::PointCloud data pointer More... | |
bool | m_ownPCL |
ownership flag More... | |
Additional Inherited Members | |
Public Types inherited from icl::geom::PointCloudObjectBase | |
enum | FeatureType { Intensity, Label, Depth, BGR, BGRA, BGRA32s, XYZ, XYZH, Normal, RGBA32f, NUM_FEATURES } |
List of well known features. More... | |
Static Public Member Functions inherited from icl::geom::SceneObject | |
static SceneObject * | cube (float x, float y, float z, float r) |
create a cube scene object More... | |
static SceneObject * | cuboid (float x, float y, float z, float dx, float dy, float dz) |
create a cuboid scene object More... | |
static SceneObject * | sphere (float x, float y, float z, float r, int rzSteps, int xySlices) |
create a shere scene object More... | |
static SceneObject * | spheroid (float x, float y, float z, float rx, float ry, float rz, int rzSteps, int xySlices) |
create a shere scene object More... | |
static SceneObject * | superquadric (float x, float y, float z, float rx, float ry, float rz, float dx, float dy, float dz, float e1, float e2, int rzSteps, int xySlices) |
create a superquadric scene object More... | |
Protected Member Functions inherited from icl::geom::PointCloudObjectBase | |
template<class T , int N> | |
core::DataSegment< T, N > & | error (const std::string &fname) |
internally used utility method that throws verbose exceptions More... | |
core::DataSegmentBase & | error_dyn (const std::string &featureName) |
internally used utility method that throws verbose exceptions More... | |
virtual void | drawNormalLines () |
draw normal lines More... | |
Static Protected Member Functions inherited from icl::geom::PointCloudObjectBase | |
static float | length (Vec d) |
Static Protected Member Functions inherited from icl::geom::SceneObject | |
static void | collect_hits_recursive (SceneObject *obj, const ViewRay &v, std::vector< Hit > &hits, bool recursive) |
recursive picking method More... | |
Protected Attributes inherited from icl::geom::PointCloudObjectBase | |
GeomColor | m_defaultPointColor |
default color used to render points that have no color information More... | |
std::map< std::string, std::string > | m_metaData |
internal map of meta data More... | |
bool | useDrawNormalLines |
float | normalLineLength |
int | normalLineGranularity |
bool | useMasking |
core::Img8u | maskImage |
bool | useTriangulation |
float | maxDeltaValue |
bool | useTexturing |
core::Img8u | textureImage |
core::DataSegment< float, 2 > | textureCoordinates |
Protected Attributes inherited from icl::geom::SceneObject | |
std::vector< Vec > | m_vertices |
std::vector< Vec > | m_normals |
std::vector< GeomColor > | m_vertexColors |
std::vector< Primitive * > | m_primitives |
std::vector< utils::SmartPtr< qt::GLImg > > | m_sharedTextures |
int | m_visibleMask |
bool | m_lineColorsFromVertices |
bool | m_triangleColorsFromVertices |
bool | m_quadColorsFromVertices |
bool | m_polyColorsFromVertices |
bool | m_useCustomRender |
float | m_pointSize |
float | m_lineWidth |
bool | m_useSmoothShading |
bool | m_isVisible |
Mat | m_transformation |
for the scene graph implementation More... | |
bool | m_hasTransformation |
SceneObject * | m_parent |
std::vector< utils::SmartPtr< SceneObject > > | m_children |
utils::Mutex | m_mutex |
for asynchronous updates More... | |
bool | m_enableLocking |
can be enabled More... | |
bool | m_pointSmoothingEnabled |
bool | m_lineSmoothingEnabled |
bool | m_polygonSmoothingEnabled |
bool | m_depthTestEnabled |
default is true More... | |
icl8u | m_shininess |
GeomColor | m_specularReflectance |
PointCloudObject implementation for the PCLPointCloud types.
Right now, the following pcl-point types are supported. Due to the non-inline implementation of the class, all other point-types are not available. For other point types, one can specialize the offset()-template in the source file.
pcl::PointXYZI
|
private |
internally used typedef
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | int | width, |
int | height = -1 , |
||
const PCLPointType & | init = PCLPointType() |
||
) |
creates a PCLPointCloudObject with given width height and intial value
If the height value is -1, the PointCloud instance is assumed to be not ordered, e.g. only a 1D set of points instead of a 2D array
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | const PCLPointCloudObject< PCLPointType > & | other | ) |
deeply copying copy constructor
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | const pcl::PointCloud< PCLPointType > & | cloud | ) |
const wrapper for given pcl-pointcloud (deep copy only)
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | pcl::PointCloud< PCLPointType > & | cloud, |
bool | deepCopy = true |
||
) |
wrapps given pcl-point-cloud (optionally shallowly copied)
icl::geom::PCLPointCloudObject< PCLPointType >::~PCLPointCloudObject | ( | ) |
Destructor.
|
virtual |
deep copy interface
Reimplemented from icl::geom::PointCloudObjectBase.
|
inlineprivate |
creates a data segment for a given feature type
|
inlineprivate |
returns the data orignin pointer
|
inlineprivate |
returns the data orignin pointer (const)
|
private |
savely delets the pcl_image
|
virtual |
return the linearily ordered number of point in the point cloud
Implements icl::geom::PointCloudObjectBase.
|
virtual |
returns the 2D size of the pointcloud (throws exception if not ordered)
Implements icl::geom::PointCloudObjectBase.
bool icl::geom::PCLPointCloudObject< PCLPointType >::isNull | ( | ) | const |
|
virtual |
returns whether pointcloud is 2D organized
Implements icl::geom::PointCloudObjectBase.
|
private |
this is actually specialized for the different types
Please note, offset needs to return -1 for non-supported feature types
PCLPointCloudObject<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::operator= | ( | const PCLPointCloudObject< PCLPointType > & | other | ) |
deeply copying assignment operator
for shallow copies, use
pcl::PointCloud<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::pcl | ( | ) |
grants access to the underlying pcl-point-cloud
const pcl::PointCloud<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::pcl | ( | ) | const |
grants access to the underlying pcl-point-cloud (const)
|
virtual |
selects a dynamic feature
some pcl types support special features that can be selected by a string ID. By default, the featureName 'all' can be used to create a DataSegment that give access to all data entries as floats
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Intensity (three byte vectors ordered BGR)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Intensity (four byte vectors ordered BGRA)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Intensity (single int value encoding byte-wise BGRA)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Intensity (single float values)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Intensity (single 32bit int values)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature Normal (4 float values)
in the PCL, the 4th value is sometimes used to store a local curvature value
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well known feature RGBA (4 float values, ordred RGBA)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
well know features XYZ (three floats, this feature must usually be available)
Reimplemented from icl::geom::PointCloudObjectBase.
|
virtual |
common way to store XYZ-data (4th float define homogeneous part)
Reimplemented from icl::geom::PointCloudObjectBase.
void icl::geom::PCLPointCloudObject< PCLPointType >::setPCL | ( | const pcl::PointCloud< PCLPointType > & | pcl | ) |
sets wrapped PCL point cloud (const, always deeply copied)
void icl::geom::PCLPointCloudObject< PCLPointType >::setPCL | ( | pcl::PointCloud< PCLPointType > & | pcl, |
bool | deepCopy = true |
||
) |
sets wrapped PCL point cloud (const, always deeply copied)
|
virtual |
adapts the point cloud size
if the sizes height is smaller than 1, the cloud becomes un-organized
Implements icl::geom::PointCloudObjectBase.
|
virtual |
generic version, that trys to get an offset (can be optimized with specialization)
Implements icl::geom::PointCloudObjectBase.
|
private |
ownership flag
|
private |
internal pcl::PointCloud data pointer