BlankMat 0.1.0
Free open-source 3D texture creation application
Loading...
Searching...
No Matches
PLine Class Reference
Inheritance diagram for PLine:
Collaboration diagram for PLine:

Public Member Functions

void SetStartPos (const glm::vec3 &start)
 
void SetEndPos (const glm::vec3 &end)
 
 PLine (const std::string &name, const std::string &scope, const glm::vec3 &start, const glm::vec3 &end, Material *material, const float lineWidth, const bool drawOver=true, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f))
 
- Public Member Functions inherited from IPrimitive< glm::vec3, glm::uvec4 >
void Draw (Shader *shader, State *state, Material *defaultMat, const glm::mat4 &viewProj, bool drawMats=false) override
 
void DrawShadows (Shader *shader, State *state) override
 
const std::vector< glm::vec3 > & GetVertices () const
 
const std::vector< glm::uvec4 > & GetIndices () const
 
 IPrimitive (const std::string &name, const std::string &scope, Material *material=nullptr, const float lineWidth=0.1f, const bool drawOver=false, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f))
 
 IPrimitive (const std::string &name, const std::string &scope="", std::string material="", const float lineWidth=0.1f, const bool drawOver=false, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f))
 
 ~IPrimitive ()
 
- Public Member Functions inherited from IEntity
virtual const glm::vec3 GetPos ()
 
virtual const glm::vec3 GetRot ()
 
virtual const glm::vec3 GetScale ()
 
virtual MaterialGetMaterial ()
 
const glm::vec3 GetUp ()
 
const glm::vec3 GetRight ()
 
const glm::vec3 GetFront ()
 
void Translate (const glm::vec3 &delta)
 
void Rotate (const glm::vec3 &delta)
 
void Scale (const glm::vec3 &delta)
 
const glm::vec3 GetWorldPos ()
 
virtual void SetPos (const glm::vec3 &pos)
 
virtual void SetRot (const glm::vec3 &rot)
 
virtual void SetScale (const glm::vec3 &scale)
 
void CalcBasis ()
 
void LoadMaterial (MaterialContainer *materials)
 
virtual void SetMaterial (Material *material)
 
bool IsEnabled ()
 
bool IsEnabledInHierarchy ()
 
void Enable (bool shouldEnable=true)
 
void EnableParent (bool shouldEnable)
 
bool ToggleEnabled ()
 
virtual void SetParentModelMatrix (const glm::mat4 &parentModelMatrix)
 
const glm::mat4 & GetModelMatrix ()
 
const glm::mat4 & GetParentModelMatrix ()
 
const glm::mat4 & GetSelfModelMatrix ()
 
const glm::mat3 & GetNormalModelMatrix ()
 
 IEntity (const std::string &name="", const std::string &scope="", Material *material=nullptr, bool drawOver=false, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f))
 
 IEntity (const std::string &name, const std::string &scope, const std::string &material, bool drawOver=false, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f))
 
virtual void Cleanup ()
 
- Public Member Functions inherited from ISelectable
virtual SelectableType GetSelectableType ()
 Returns the type of the selectable.
 
 ISelectable (SelectableType type=SelectableType::NONE)
 Sets the type of the selectable.
 
- Public Member Functions inherited from INameable
virtual void Rename (const std::string &newName, bool includeScope=true)
 Renames the object, setting the scope to be the scoped part of the name.
 
virtual void SetName (const std::string &name)
 Sets the name of the object. Note: Does not set the scope variable. If renaming based on raw input, use Rename() instead to set the scope.
 
virtual void SetScope (const std::string &scope)
 Sets the scope of the object.
 
std::string GetUnscopedName ()
 Returns the unscoped name of the object.
 
std::string GetScope ()
 Returns the scope of the object.
 
std::string GetScopedName ()
 Returns the scoped name of the object.
 
void InitName (const std::string &name, const std::string &scope="")
 Initializes the nameable object with the given name and scope.
 
 INameable ()
 Creates a default nameable object without name or scope.
 

Additional Inherited Members

- Static Public Member Functions inherited from IEntity
static const std::string GetNameNullSafe (IEntity *entity)
 
- Protected Member Functions inherited from IPrimitive< glm::vec3, glm::uvec4 >
void GenBuffers () override
 
- Protected Member Functions inherited from IEntity
virtual void RecalcMatrices ()
 
virtual void UpdateEnabledStatus ()
 
- Protected Attributes inherited from IPrimitive< glm::vec3, glm::uvec4 >
float mLineWidth
 
bool mIsWireframe
 
unsigned int mIndexLen
 
std::vector< glm::vec3 > mVertices
 
std::vector< glm::uvec4 > mIndices
 
- Protected Attributes inherited from IEntity
unsigned int mVAO = 0
 
unsigned int mVBO = 0
 
unsigned int mEBO = 0
 
bool mDrawOver = false
 
glm::vec3 mFront = glm::vec3(0.0f)
 
glm::vec3 mRight = glm::vec3(0.0f)
 
glm::vec3 mUp = glm::vec3(0.0f)
 
glm::vec3 mPos = glm::vec3(0.0f)
 
glm::vec3 mRot = glm::vec3(0.0f)
 
glm::vec3 mScale = glm::vec3(1.0f)
 
bool mIsEnabled = true
 
bool mIsEnabledSelf = true
 
bool mIsEnabledParent = true
 
MaterialmMaterial = nullptr
 
std::string mMaterialName = ""
 
bool mRecalcMatrices = true
 
glm::mat4 mParentModelMatrix = glm::mat4(1.0f)
 
glm::mat4 mSelfModelMatrix = glm::mat4(1.0f)
 
glm::mat4 mModelMatrix = glm::mat4(1.0f)
 
glm::mat3 mNormalModelMatrix = glm::mat3(1.0f)
 
- Protected Attributes inherited from ISelectable
SelectableType mSelectableType = SelectableType::NONE
 Type of the selectable.
 
- Protected Attributes inherited from INameable
std::string mName = ""
 Name of the object.
 
std::string mScope = ""
 Scope of the object.
 

Constructor & Destructor Documentation

◆ PLine()

PLine::PLine ( const std::string &  name,
const std::string &  scope,
const glm::vec3 &  start,
const glm::vec3 &  end,
Material material,
const float  lineWidth,
const bool  drawOver = true,
const glm::vec3 &  pos = glm::vec3(0.0f),
const glm::vec3 &  rot = glm::vec3(0.0f),
const glm::vec3 &  scale = glm::vec3(1.0f) 
)
inline

Member Function Documentation

◆ SetEndPos()

void PLine::SetEndPos ( const glm::vec3 &  end)
inline

◆ SetStartPos()

void PLine::SetStartPos ( const glm::vec3 &  start)
inline