Isle
Loading...
Searching...
No Matches
TglImpl::GroupImpl Class Reference

[AI] Implementation of Tgl::Group, wraps a Direct3DRMFrame2 and provides scene graph and transformation features [AI] More...

#include <impl.h>

Inheritance diagram for TglImpl::GroupImpl:
Collaboration diagram for TglImpl::GroupImpl:

Public Types

typedef IDirect3DRMFrame2 * GroupDataType
 [AI] Internal pointer to Direct3DRMFrame2 [AI] More...
 

Public Member Functions

 GroupImpl ()
 [AI] Initializes frame/group to null [AI] More...
 
 ~GroupImpl () override
 [AI] Cleanly releases resources on destruction [AI] More...
 
void * ImplementationDataPtr () override
 Returns group implementation pointer [AI]. More...
 
Result SetTransformation (FloatMatrix4 &) override
 Sets transformation matrix for group [AI]. More...
 
Result SetColor (float r, float g, float b, float a) override
 Sets color and alpha for the group [AI]. More...
 
Result SetTexture (const Texture *) override
 Sets texture for all group geometry [AI]. More...
 
Result GetTexture (Texture *&) override
 Gets texture from group [AI]. More...
 
Result SetMaterialMode (MaterialMode) override
 Sets usage/staging of group as a material [AI]. More...
 
Result Add (const Group *) override
 Adds a child group [AI]. More...
 
Result Add (const MeshBuilder *) override
 Adds mesh builder to group [AI]. More...
 
Result Remove (const Group *) override
 Removes a child group [AI]. More...
 
Result Remove (const MeshBuilder *) override
 Removes a mesh builder from group [AI]. More...
 
Result RemoveAll () override
 Removes all contained groups and meshes [AI]. More...
 
Result Bounds (D3DVECTOR *p_min, D3DVECTOR *p_max) override
 Returns bounding box in world space [AI]. More...
 
const GroupDataTypeImplementationData () const
 Gets internal group/frame pointer, const [AI]. More...
 
GroupDataTypeImplementationData ()
 Gets internal group/frame pointer, mutable [AI]. More...
 
void Destroy ()
 Frees resources for group, such as child groups and geometry [AI]. More...
 
virtual Result SetTransformation (FloatMatrix4 &)=0
 [AI] Sets the group's transformation matrix. More...
 
virtual Result SetColor (float r, float g, float b, float a)=0
 [AI] Sets color (and alpha) for all geometry in the group. More...
 
virtual Result SetTexture (const Texture *)=0
 [AI] Sets a texture for the entire group. More...
 
virtual Result GetTexture (Texture *&)=0
 [AI] Gets the group's texture (if any). More...
 
virtual Result SetMaterialMode (MaterialMode)=0
 [AI] Sets material mode for the group (e.g., inherit vs. More...
 
virtual Result Add (const Group *)=0
 [AI] Adds a child group to this group. More...
 
virtual Result Add (const MeshBuilder *)=0
 [AI] Adds a mesh builder's mesh to the group. More...
 
virtual Result Remove (const Group *)=0
 [AI] Removes a child group from this group. More...
 
virtual Result Remove (const MeshBuilder *)=0
 [AI] Removes a mesh builder's mesh from group. More...
 
virtual Result RemoveAll ()=0
 [AI] Removes all children and meshes from the group. More...
 
virtual Result Bounds (D3DVECTOR *, D3DVECTOR *)=0
 [AI] Computes an axis-aligned bounding box for the group in world space. More...
 
- Public Member Functions inherited from Tgl::Object
virtual ~Object ()
 [AI] Destructor; releases resources. More...
 
virtual void * ImplementationDataPtr ()=0
 [AI] Returns a pointer to internal/implementation data, if any. More...
 

Friends

class RendererImpl
 

Detailed Description

[AI] Implementation of Tgl::Group, wraps a Direct3DRMFrame2 and provides scene graph and transformation features [AI]

Definition at line 944 of file impl.h.

Member Typedef Documentation

◆ GroupDataType

typedef IDirect3DRMFrame2* TglImpl::GroupImpl::GroupDataType

[AI] Internal pointer to Direct3DRMFrame2 [AI]

Definition at line 1030 of file impl.h.

Constructor & Destructor Documentation

◆ GroupImpl()

TglImpl::GroupImpl::GroupImpl ( )
inline

[AI] Initializes frame/group to null [AI]

Definition at line 947 of file impl.h.

◆ ~GroupImpl()

TglImpl::GroupImpl::~GroupImpl ( )
inlineoverride

[AI] Cleanly releases resources on destruction [AI]

Definition at line 950 of file impl.h.

Member Function Documentation

◆ Add() [1/2]

Result GroupImpl::Add ( const Group pGroup)
overridevirtual

Adds a child group [AI].

Parameters
Grouppointer to add [AI]

Implements Tgl::Group.

Definition at line 83 of file group.cpp.

◆ Add() [2/2]

Result GroupImpl::Add ( const MeshBuilder pMeshBuilder)
overridevirtual

Adds mesh builder to group [AI].

Parameters
MeshBuilderpointer to add [AI]

Implements Tgl::Group.

Definition at line 90 of file group.cpp.

◆ Bounds()

Result GroupImpl::Bounds ( D3DVECTOR p_min,
D3DVECTOR p_max 
)
overridevirtual

Returns bounding box in world space [AI].

Parameters
p_minOutput min vector [AI]
p_maxOutput max vector [AI]

Implements Tgl::Group.

Definition at line 133 of file group.cpp.

◆ Destroy()

void TglImpl::GroupImpl::Destroy ( )
inline

Frees resources for group, such as child groups and geometry [AI].

Frees group resources and nullifies pointer [AI].

Definition at line 1069 of file impl.h.

◆ GetTexture()

Result GroupImpl::GetTexture ( Texture *&  pTexture)
overridevirtual

Gets texture from group [AI].

Parameters
[out]Referenceto Texture pointer [AI]

Implements Tgl::Group.

Definition at line 45 of file group.cpp.

◆ ImplementationData() [1/2]

GroupDataType & TglImpl::GroupImpl::ImplementationData ( )
inline

Gets internal group/frame pointer, mutable [AI].

Definition at line 1042 of file impl.h.

◆ ImplementationData() [2/2]

const GroupDataType & TglImpl::GroupImpl::ImplementationData ( ) const
inline

Gets internal group/frame pointer, const [AI].

Definition at line 1036 of file impl.h.

◆ ImplementationDataPtr()

void * GroupImpl::ImplementationDataPtr ( )
overridevirtual

Returns group implementation pointer [AI].

Implements Tgl::Object.

Definition at line 7 of file group.cpp.

◆ Remove() [1/2]

Result GroupImpl::Remove ( const Group pGroup)
overridevirtual

Removes a child group [AI].

Parameters
Grouppointer to remove [AI]

Implements Tgl::Group.

Definition at line 104 of file group.cpp.

◆ Remove() [2/2]

Result GroupImpl::Remove ( const MeshBuilder pMeshBuilder)
overridevirtual

Removes a mesh builder from group [AI].

Parameters
MeshBuilderpointer to remove [AI]

Implements Tgl::Group.

Definition at line 97 of file group.cpp.

◆ RemoveAll()

Result GroupImpl::RemoveAll ( )
overridevirtual

Removes all contained groups and meshes [AI].

Implements Tgl::Group.

Definition at line 111 of file group.cpp.

◆ SetColor()

Result GroupImpl::SetColor ( float  r,
float  g,
float  b,
float  a 
)
overridevirtual

Sets color and alpha for the group [AI].

Parameters
rRed [AI]
gGreen [AI]
bBlue [AI]
aAlpha [AI]

Implements Tgl::Group.

Definition at line 21 of file group.cpp.

◆ SetMaterialMode()

Result GroupImpl::SetMaterialMode ( MaterialMode  mode)
overridevirtual

Sets usage/staging of group as a material [AI].

Parameters
modeMaterial mode [AI]

Implements Tgl::Group.

Definition at line 65 of file group.cpp.

◆ SetTexture()

Result GroupImpl::SetTexture ( const Texture pTexture)
overridevirtual

Sets texture for all group geometry [AI].

Parameters
Texturepointer [AI]

Implements Tgl::Group.

Definition at line 38 of file group.cpp.

◆ SetTransformation()

Result GroupImpl::SetTransformation ( FloatMatrix4 matrix)
overridevirtual

Sets transformation matrix for group [AI].

Parameters
transform4x4 transform [AI]

Implements Tgl::Group.

Definition at line 13 of file group.cpp.

Friends And Related Function Documentation

◆ RendererImpl

friend class RendererImpl
friend

Definition at line 1049 of file impl.h.


The documentation for this class was generated from the following files: