/usr/include/IGSTK/igstkEllipsoidObjectRepresentation.h is in libigstk4-dev 4.4.0-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | /*=========================================================================
Program: Image Guided Surgery Software Toolkit
Module: $RCSfile: igstkEllipsoidObjectRepresentation.h,v $
Language: C++
Date: $Date: 2008-02-11 01:41:50 $
Version: $Revision: 1.15 $
Copyright (c) ISC Insight Software Consortium. All rights reserved.
See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef __igstkEllipsoidObjectRepresentation_h
#define __igstkEllipsoidObjectRepresentation_h
#include "igstkMacros.h"
#include "igstkObjectRepresentation.h"
#include "igstkEllipsoidObject.h"
#include "vtkSuperquadricSource.h"
#include "igstkStateMachine.h"
namespace igstk
{
/** \class EllipsoidObjectRepresentation
*
* \brief This class represents an ellipsoid object. The parameters of the
* object are the three radii defining the lenght of the principal axes of the
* ellipsoid. The axes of the ellipsoid are orthogonal. The Ellipsoidal object
* is rendered in a VTK scene using the vtkSuperquadricSource object.
*
* \image html igstkEllipsoidObjectRepresentation.png "State Machine Diagram"
* \image latex igstkEllipsoidObjectRepresentation.eps "State Machine Diagram"
*
* \ingroup ObjectRepresentation
*/
class EllipsoidObjectRepresentation
: public ObjectRepresentation
{
public:
/** Macro with standard traits declarations. */
igstkStandardClassTraitsMacro( EllipsoidObjectRepresentation,
ObjectRepresentation )
public:
/** Typedefs */
typedef EllipsoidObject EllipsoidObjectType;
/** Return a copy of the current object representation */
Pointer Copy() const;
/** Connect this representation class to the spatial object */
void RequestSetEllipsoidObject( const EllipsoidObjectType * ellipsoidObject );
protected:
EllipsoidObjectRepresentation( void );
virtual ~EllipsoidObjectRepresentation( void );
/** Print the object information in a stream. */
virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
/** Create the VTK actors per view */
void CreateActors();
private:
/** Internal itkSpatialObject */
EllipsoidObjectType::ConstPointer m_EllipsoidObject;
/** VTK class that generates the geometrical representation of the cylinder */
vtkSuperquadricSource * m_EllipsoidSource;
/** update the visual representation with changes in the geometry */
virtual void UpdateRepresentationProcessing();
/** Connect this representation class to the spatial object. Only to be
* called by the State Machine. */
void SetEllipsoidObjectProcessing();
/** Null operation for a State Machine transition */
void NoProcessing();
private:
/** Inputs to the State Machine */
igstkDeclareInputMacro( ValidEllipsoidObject );
igstkDeclareInputMacro( NullEllipsoidObject );
/** States for the State Machine */
igstkDeclareStateMacro( NullEllipsoidObject );
igstkDeclareStateMacro( ValidEllipsoidObject );
EllipsoidObjectType::ConstPointer m_EllipsoidObjectToAdd;
};
} // end namespace igstk
#endif // __igstkEllipsoidObjectRepresentation_h
|