15#define OSGSIM_SECTOR 1
38 virtual const char *
className()
const {
return "Sector"; }
59 void getAzimuthRange(
float& minAzimuth,
float& maxAzimuth,
float& fadeAngle)
const;
67 if (dotproduct>=
_cosAngle*length)
return 1.0f;
101 float dotproduct = eyeLocal.
z();
102 float length = eyeLocal.
length();
138 AzimSector(
float minAzimuth,
float maxAzimuth,
float fadeAngle=0.0f);
142 virtual float operator() (
const osg::Vec3& eyeLocal)
const;
167 virtual float operator() (
const osg::Vec3& eyeLocal)
const;
189 AzimElevationSector(
float minAzimuth,
float maxAzimuth,
float minElevation,
float maxElevation,
float fadeAngle=0.0f);
193 virtual float operator() (
const osg::Vec3& eyeLocal)
const;
207 _axis(0.0f,0.0f,1.0f),
231 virtual float operator() (
const osg::Vec3& eyeLocal)
const;
295 virtual float operator() (
const osg::Vec3& eyeLocal)
const;
The core osg library provides the basic scene graph classes such as Nodes, State and Drawables,...
Definition AlphaFunc:19
Vec3f Vec3
Definition Vec3:21
T square(T v)
Definition Math:107
Matrixd Matrix
Definition Matrix:27
The osgSim library is a NodeKit that extends the core scene graph to support nodes and drawables that...
Definition BlinkSequence:27
Copy Op(erator) used to control whether shallow or deep copy is used during copy construction and clo...
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Base class/standard interface for objects which require IO support, cloning and reference counting.
Definition Object:61
Object()
Construct an object.
Definition Object:69
value_type & z()
Definition Vec3f:82
value_type & y()
Definition Vec3f:81
value_type & x()
Definition Vec3f:80
value_type length() const
Length of the vector = sqrt( vec .
Definition Vec3f:176
virtual const char * className() const
return the name of the object's class type.
Definition Sector:38
virtual bool isSameKindAs(const osg::Object *obj) const
Definition Sector:39
Sector()
Definition Sector:32
virtual const char * libraryName() const
return the name of the object's library.
Definition Sector:37
virtual ~Sector()
Definition Sector:45
Sector(const Sector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:34
virtual float operator()(const osg::Vec3 &) const =0
AzimRange()
Definition Sector:52
float _cosAzim
Definition Sector:73
float _cosFadeAngle
Definition Sector:76
float azimSector(const osg::Vec3 &eyeLocal) const
Definition Sector:62
void getAzimuthRange(float &minAzimuth, float &maxAzimuth, float &fadeAngle) const
void setAzimuthRange(float minAzimuth, float maxAzimuth, float fadeAngle=0.0f)
float _sinAzim
Definition Sector:74
float _cosAngle
Definition Sector:75
ElevationRange()
Definition Sector:85
float getMaxElevation() const
float getMinElevation() const
float getFadeAngle() const
float _cosMaxFadeElevation
Definition Sector:123
float _cosMaxElevation
Definition Sector:122
float _cosMinFadeElevation
Definition Sector:121
float _cosMinElevation
Definition Sector:120
void setElevationRange(float minElevation, float maxElevation, float fadeAngle=0.0f)
float elevationSector(const osg::Vec3 &eyeLocal) const
Definition Sector:99
virtual ~AzimSector()
Definition Sector:146
AzimSector(const AzimSector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:134
META_Object(osgSim, AzimSector)
AzimSector(float minAzimuth, float maxAzimuth, float fadeAngle=0.0f)
AzimSector()
Definition Sector:130
ElevationSector(float minElevation, float maxElevation, float fadeAngle=0.0f)
ElevationSector()
Definition Sector:155
ElevationSector(const ElevationSector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:159
virtual ~ElevationSector()
Definition Sector:171
META_Object(osgSim, ElevationSector)
virtual ~AzimElevationSector()
Definition Sector:197
AzimElevationSector(const AzimElevationSector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:184
META_Object(osgSim, AzimElevationSector)
AzimElevationSector(float minAzimuth, float maxAzimuth, float minElevation, float maxElevation, float fadeAngle=0.0f)
AzimElevationSector()
Definition Sector:179
ConeSector(const osg::Vec3 &axis, float angle, float fadeangle=0.0f)
META_Object(osgSim, ConeSector)
void setAngle(float angle, float fadeangle=0.0f)
virtual ~ConeSector()
Definition Sector:235
ConeSector(const ConeSector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:211
osg::Vec3 _axis
Definition Sector:237
float _cosAngle
Definition Sector:238
void setAxis(const osg::Vec3 &axis)
float getFadeAngle() const
float _cosAngleFade
Definition Sector:239
ConeSector()
Definition Sector:205
const osg::Vec3 & getAxis() const
float getFadeAngle() const
float getVertLobeAngle() const
float _cosVertAngle
Definition Sector:307
DirectionalSector(const osg::Vec3 &direction, float horizLobeAngle, float vertLobeAngle, float lobeRollAngle, float fadeAngle=0.0f)
void setFadeAngle(float angle)
const osg::Vec3 & getDirection() const
void setDirection(const osg::Vec3 &direction)
DirectionalSector(const DirectionalSector ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
Definition Sector:261
float getHorizLobeAngle() const
DirectionalSector()
Definition Sector:252
virtual ~DirectionalSector()
Definition Sector:301
float _rollAngle
Definition Sector:304
void setVertLobeAngle(float angle)
osg::Vec3 _direction
Definition Sector:303
float _cosHorizFadeAngle
Definition Sector:308
osg::Matrix _local_to_LP
Definition Sector:305
float _cosHorizAngle
Definition Sector:306
void setLobeRollAngle(float angle)
META_Object(osgSim, DirectionalSector)
float getLobeRollAngle() const
float _cosVertFadeAngle
Definition Sector:309
void setHorizLobeAngle(float angle)
#define OSGSIM_EXPORT
Definition Export:38