Choreonoid  1.5
SpotLight.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_BODY_SPOT_LIGHT_H
7 #define CNOID_BODY_SPOT_LIGHT_H
8 
9 #include "PointLight.h"
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
15 {
16 public:
17  SpotLight();
18  SpotLight(const SpotLight& org, bool copyStateOnly = false);
19 
20  virtual const char* typeName();
21  void copyStateFrom(const SpotLight& other);
22  virtual void copyStateFrom(const DeviceState& other);
23  virtual DeviceState* cloneState() const;
24  virtual Device* clone() const;
25  virtual void forEachActualType(boost::function<bool(const std::type_info& type)> func);
26  virtual int stateSize() const;
27  virtual const double* readState(const double* buf);
28  virtual double* writeState(double* out_buf) const;
29 
30  const Vector3& direction() const { return direction_; }
31  void setDirection(const Vector3& direction) { direction_ = direction; }
32 
33  float beamWidth() const { return beamWidth_; }
34  void setBeamWidth(float beamWidth) { beamWidth_ = beamWidth; }
35 
36  float cutOffAngle() const { return cutOffAngle_; }
37  void setCutOffAngle(float angle) { cutOffAngle_ = angle; }
38 
39 private:
40  Vector3 direction_;
41  float beamWidth_;
42  float cutOffAngle_;
43 };
44 
46 
47 }
48 
49 #endif
Definition: PointLight.h:14
ref_ptr< SpotLight > SpotLightPtr
Definition: SpotLight.h:45
float beamWidth() const
Definition: SpotLight.h:33
Definition: Referenced.h:128
const Vector3 & direction() const
Definition: SpotLight.h:30
Definition: Device.h:18
float cutOffAngle() const
Definition: SpotLight.h:36
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
void setBeamWidth(float beamWidth)
Definition: SpotLight.h:34
void setCutOffAngle(float angle)
Definition: SpotLight.h:37
Eigen::Vector3d Vector3
Definition: EigenTypes.h:58
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Device.h:52
Definition: SpotLight.h:14
void setDirection(const Vector3 &direction)
Definition: SpotLight.h:31