20 #ifndef GeomDataAPI_Dir_H_
21 #define GeomDataAPI_Dir_H_
23 #include "GeomDataAPI.h"
24 #include <ModelAPI_Attribute.h>
38 virtual void setValue(
const double theX,
const double theY,
const double theZ) = 0;
40 virtual void setValue(
const std::shared_ptr<GeomAPI_Dir>& theDir) = 0;
43 virtual double x()
const = 0;
45 virtual double y()
const = 0;
47 virtual double z()
const = 0;
49 virtual std::shared_ptr<GeomAPI_Dir>
dir() = 0;
51 virtual std::shared_ptr<GeomAPI_XYZ>
xyz() = 0;
56 return std::string(
"Dir");
69 typedef std::shared_ptr<GeomDataAPI_Dir> AttributeDirPtr;
3D direction defined by three normalized coordinates
Definition: GeomAPI_Dir.h:34
3 coordinates: they may represent vector or point or something else
Definition: GeomAPI_XYZ.h:32
Attribute that contains 3D direction coordinates.
Definition: GeomDataAPI_Dir.h:35
GeomDataAPI_Dir()
Objects are created for features automatically.
Definition: GeomDataAPI_Dir.cpp:27
virtual std::string attributeType()
Returns the type of this class of attributes, not static method.
Definition: GeomDataAPI_Dir.cpp:22
virtual std::shared_ptr< GeomAPI_Dir > dir()=0
Returns the direction of this attribute.
static std::string typeId()
Returns the type of this class of attributes.
Definition: GeomDataAPI_Dir.h:54
virtual double z() const =0
Returns the Z double value.
virtual double x() const =0
Returns the X double value.
virtual void setValue(const std::shared_ptr< GeomAPI_Dir > &theDir)=0
Defines the direction.
virtual void setValue(const double theX, const double theY, const double theZ)=0
Defines the double value.
virtual std::shared_ptr< GeomAPI_XYZ > xyz()=0
Returns the coordinates of this attribute.
virtual double y() const =0
Returns the Y double value.
Generic attribute of the Object.
Definition: ModelAPI_Attribute.h:34