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

Public Member Functions

void Draw (Shader *shader, State *state, Material *defaultMat, const glm::mat4 &viewProj, bool drawMats=false) override
 
void SetParentModelMatrix (const glm::mat4 &parentModelMatrix) override
 
void DrawShadows (Shader *shader, State *state) override
 
 PHandle (const std::string &name, const std::string &scope, float len, float lineWidth, bool drawOver, MaterialContainer *materials, TextureContainer *textures, const glm::vec3 &pos=glm::vec3(0.0f), const glm::vec3 &rot=glm::vec3(0.0f), const glm::vec3 &scale=glm::vec3(1.0f), const glm::vec3 &allColor=glm::vec3(1, 1, 0), const glm::vec3 &xColor=glm::vec3(1, 0, 0), const glm::vec3 &yColor=glm::vec3(0, 1, 0), const glm::vec3 &zColor=glm::vec3(0, 0, 1))
 
 ~PHandle ()
 
- 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 ()
 
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.
 

Protected Member Functions

void GenBuffers () override
 
- Protected Member Functions inherited from IEntity
virtual void RecalcMatrices ()
 
virtual void UpdateEnabledStatus ()
 

Protected Attributes

PLinemXHandle
 
PLinemYHandle
 
PLinemZHandle
 
PWireCubemAllHandle
 
bool mXHeld = false
 
bool mYHeld = false
 
bool mZHeld = false
 
bool mAllHeld = false
 
- 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from IEntity
static const std::string GetNameNullSafe (IEntity *entity)
 

Constructor & Destructor Documentation

◆ PHandle()

PHandle::PHandle ( const std::string &  name,
const std::string &  scope,
float  len,
float  lineWidth,
bool  drawOver,
MaterialContainer materials,
TextureContainer textures,
const glm::vec3 &  pos = glm::vec3(0.0f),
const glm::vec3 &  rot = glm::vec3(0.0f),
const glm::vec3 &  scale = glm::vec3(1.0f),
const glm::vec3 &  allColor = glm::vec3(1, 1, 0),
const glm::vec3 &  xColor = glm::vec3(1,0,0),
const glm::vec3 &  yColor = glm::vec3(0,1,0),
const glm::vec3 &  zColor = glm::vec3(0,0,1) 
)
inline

◆ ~PHandle()

PHandle::~PHandle ( )
inline

Member Function Documentation

◆ Draw()

void PHandle::Draw ( Shader shader,
State state,
Material defaultMat,
const glm::mat4 &  viewProj,
bool  drawMats = false 
)
inlineoverridevirtual

Implements IEntity.

◆ DrawShadows()

void PHandle::DrawShadows ( Shader shader,
State state 
)
inlineoverridevirtual

Implements IEntity.

◆ GenBuffers()

void PHandle::GenBuffers ( )
inlineoverrideprotectedvirtual

Implements IEntity.

◆ SetParentModelMatrix()

void PHandle::SetParentModelMatrix ( const glm::mat4 &  parentModelMatrix)
inlineoverridevirtual

Reimplemented from IEntity.

Member Data Documentation

◆ mAllHandle

PWireCube* PHandle::mAllHandle
protected

◆ mAllHeld

bool PHandle::mAllHeld = false
protected

◆ mXHandle

PLine* PHandle::mXHandle
protected

◆ mXHeld

bool PHandle::mXHeld = false
protected

◆ mYHandle

PLine* PHandle::mYHandle
protected

◆ mYHeld

bool PHandle::mYHeld = false
protected

◆ mZHandle

PLine* PHandle::mZHandle
protected

◆ mZHeld

bool PHandle::mZHeld = false
protected