Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which Projects are potentially painful to maintain (i.e concrete and stable) and which Projects are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

The list contains only code elements refactored or added since the baseline for comparison.

The setting Recent Violations Only is enabled

Why should I enable the setting Recent Violations Only ?

Quick Tips

Main
Main \ Rules
Main \ Rules \ Code Quality
Main \ Rules \ Object Oriented Design
Main \ Rules \ Design
Main \ Rules \ Architecture and Layering
Main \ Rules \ Best Practices
Main \ Rules \ Best Practices \ Constness
Main \ Rules \ Dead Code
Main \ Rules \ Visibility
Main \ Rules \ Purity - Immutability - Side-Effects
Main \ Rules \ Naming Conventions
Main \ Rules \ Source Files Organization
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Diff Summary
Main \ Group of Queries \ Dead Code
Main \ Metrics \ Application Statistics
Main \ Metrics \ Projects Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Projects Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Trend Charts
cppdepend report summary application nameIrrlichtreport build date08/04/2014 19:39:47analysis duration00:01:52cppdepend version 4.1.0.2453baseline for comparison Not Defined. To define a Baseline for Comparison, please read this online documentation.
Get started.Quick tips.Back to CppDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.

Diagrams

C/C++ Projects Dependency Graph
Dependency Graph
View as ?fullscaled
C/C++ Projects Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability
View as ?fullscaled

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
99 986      
0 (NotMyCode)
# Types
1 066      
1   Projects      
25   Namespaces      
8 446   Methods      
4 641   Fields      
660   Source Files      
Comment
28.49%      
39 834   Lines of Comment      
Method Complexity
3 366   Max      
3.63   Average      
Type Complexity
15 455   Max      
49.13   Average      
Third-Party Usage
2   Projects used      
8   Namespaces used      
188   Types used      
504   Methods used      
777   Fields used      

Rules summary

26400This section lists all Rules violated, and Rules or Queries with Error
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 43

Summary of Rules violated

graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp CppDepend rules report too many flaws
on existing code base? Use the option
Recent Violations Only!
warningCritical Some Critical Rules are violated. Critical Rules
can be used to break the build process if
violated. Online documentation.
Name # Matches Elements Group
warningCritical   Types too big - critical
30 typesCode Quality
warningCritical   Methods too complex - critical
90 methodsCode Quality
warningCritical   Methods with too many parameters - critical
82 methodsCode Quality
warning   Quick summary of methods to refactor
1303 methodsCode Quality
warning   Methods too big
837 methodsCode Quality
warning   Methods too complex
287 methodsCode Quality
warning   Methods potentially poorly commented
701 methodsCode Quality
warning   Methods with too many parameters
330 methodsCode Quality
warning   Methods with too many local variables
196 methodsCode Quality
warning   Methods with too many overloads
137 methodsCode Quality
warning   Types with too many methods
88 typesCode Quality
warning   Types with too many fields
26 typesCode Quality
warning   Types with poor cohesion
38 typesCode Quality
warning   Class shouldn't be too deep in inheritance tree
202 typesObject Oriented Design
warning   Constructor should not call a virtual methods
87 methodsObject Oriented Design
warning   Don't assign static fields from instance methods
2 fieldsObject Oriented Design
warning   Avoid Abstract Classes with too many methods
51 typesObject Oriented Design
warning   Avoid namespaces with few types
13 namespacesDesign
warning   Nested types should not be visible
91 typesDesign
warning   Avoid namespaces mutually dependent
15 namespacesArchitecture and Layering
warning   Avoid namespaces dependency cycles
1 namespacesArchitecture and Layering
warning   Projects with poor cohesion (RelationalCohesion)
1 projectsArchitecture and Layering
warning   Use reinterpret_cast carrefully
10 methodsBest Practices
warning   Avoid using goto keyword
10 methodsBest Practices
warning   Use const_cast carrefully
7 methodsConstness
warning   Potentially dead Types
37 typesDead Code
warning   Potentially dead Methods
38 methodsDead Code
warning   Potentially dead Fields
16 fieldsDead Code
warning   Fields should be declared as private
3415 fieldsVisibility
warning   Constructors of abstract classes should be declared as protected or private
103 typesVisibility
warning   Structures should be immutable
443 typesPurity - Immutability - Side-Effects
warning   Avoid static fields with a mutable field type
16 fieldsPurity - Immutability - Side-Effects
warning   Instance fields should be prefixed with a 'm_'
10 fieldsNaming Conventions
warning   Static fields should be prefixed with a 's_'
10 fieldsNaming Conventions
warning   Types name should begin with an Upper character
10 typesNaming Conventions
warning   Avoid types with name too long
20 typesNaming Conventions
warning   Avoid methods with name too long
62 methodsNaming Conventions
warning   Avoid fields with name too long
8 fieldsNaming Conventions
warning   Namespace name should correspond to file location
872 typesNaming Conventions
warning   Avoid defining multiple types in a source file
106 typesSource Files Organization
warning   Namespace name should correspond to file location
853 typesSource Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
2 namespacesSource Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
6 namespacesSource Files Organization

Application Statistics

Stat # Occurences Avg StdDev Max
Public properties on classes 474 Classes 1.3429.04633 public properties on __Globals
Public methods on classes 474 classes 17.6451.911073 public methods on __Globals
Arguments on public methods on classes 8,363 methods 1.491.7917 arguments on irr.video.COpenGLSLMaterialRenderer.COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*,s32&,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8*,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack*,irr::video::IMaterialRenderer*,s32)
Cyclomatic complexity on non abstract Methods 10,253 Methods 0.291.42 CC = 34 for irr.scene.CXMeshFileLoader.getNextToken()

Projects Metrics

If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects # lines of code # Types # Abstract Types # lines of comment% CommentAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
Irrlicht v1.0.0.0999861067107398342802016.2610.10.07

Types Metrics : Code Quality

For a particular Code Metric defined for types, values in red represent the 15% highest values.
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code # Types # lines of comment% CommentAfferent CouplingEfferent Coupling
Irrlicht::GlobalNamespace3748214500310
Irrlicht::irr18505100912
Irrlicht::irr.core33833300132
Irrlicht::irr.os9050084
Irrlicht::irr.scene2410836500420
Irrlicht::irr.scene.quake3393160018
Irrlicht::irr.scene.anonymous_namespace{cmeshmanipulator.cpp}19040015
Irrlicht::irr.scene.anonymous_namespace{c3dsmeshfileloader.cpp}010010
Irrlicht::irr.scene.anonymous_namespace{ccolladafileloader.cpp}010013
Irrlicht::irr.scene.anonymous_namespace{dmfsupport.h}35170017
Irrlicht::irr.scene.anonymous_namespace{cms3dmeshfileloader.cpp}070011
Irrlicht::irr.scene.anonymous_namespace{cogremeshfileloader.cpp}010010
Irrlicht::irr.io34828700713
Irrlicht::irr.io.anonymous_namespace{cnpkreader.h}020022
Irrlicht::irr.io.anonymous_namespace{cnpkreader.cpp}210011
Irrlicht::irr.io.anonymous_namespace{cpakreader.cpp}210011
Irrlicht::irr.io.anonymous_namespace{czipreader.cpp}510012
Irrlicht::irr.gui81879200311
Irrlicht::irr.gui.anonymous_namespace{cguicolorselectdialog.cpp}020011
Irrlicht::irr.video20354231001015
Irrlicht::irr.video.glsl9290013
Irrlicht::irr.video.anonymous_namespace{cd3d9materialrenderer.h}1010011
Irrlicht::irr.video.anonymous_namespace{cd3d9driver.cpp}110010
Irrlicht::irr.anonymous_namespace{cirrdevicestub.cpp}410012
Irrlicht::anonymous_namespace{cirrdevicewin32.cpp}020023

0130
Code Quality  

warningCritical    Critical Rule warning: Types too big - critical
// <Name>Types too big - critical</Name>
warnif count > 0 from t in JustMyCode.Types where 
   
t.NbLinesOfCode > 500 && !t.IsGlobal
   
orderby t.NbLinesOfCode descending
select new { t, t.NbLinesOfCode,
                
t.NbMethods, t.NbFields }

// Types where NbLinesOfCode > 500 are extremely complex 
// and should be split in a smaller group of types. 
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

30 types matched

types# lines of code (LOC)# Methods# FieldsFull Name
COpenGLDriver3 0919625irr.video.COpenGLDriver
CD3D9Driver2 0988835irr.video.CD3D9Driver
CColladaMeshWriter1 5986011irr.scene.CColladaMeshWriter
CColladaFileLoader1 4055019irr.scene.CColladaFileLoader
CXMeshFileLoader1 2134417irr.scene.CXMeshFileLoader
CBurningVideoDriver1 1756320irr.video.CBurningVideoDriver
CLWOMeshFileLoader1 1581916irr.scene.CLWOMeshFileLoader
COpenGLExtensionHandler1 031109145irr.video.COpenGLExtensionHandler
CSceneManager97211029irr.scene.CSceneManager
COgreMeshFileLoader9243210irr.scene.COgreMeshFileLoader
CNullDriver90814331irr.video.CNullDriver
CGUIEditBox8684226irr.gui.CGUIEditBox
CQ3LevelMesh8676441irr.scene.CQ3LevelMesh
CMatrix4<T>838831irr.core.CMatrix4<T>
C3DSMeshFileLoader7542216irr.scene.C3DSMeshFileLoader
CTerrainSceneNode7524921irr.scene.CTerrainSceneNode
CQuake3ShaderSceneNode717328irr.scene.CQuake3ShaderSceneNode
CMeshManipulator688230irr.scene.CMeshManipulator
CNumbersAttribute682674irr.io.CNumbersAttribute
CGUIEnvironment6826914irr.gui.CGUIEnvironment
CTRTextureBlend680164irr.video.CTRTextureBlend
CGUITable6704521irr.gui.CGUITable
CAttributes6591442irr.io.CAttributes
CAnimatedMeshHalfLife6303719irr.scene.CAnimatedMeshHalfLife
CSkinnedMesh5825115irr.scene.CSkinnedMesh
CIrrDeviceWin32566337irr.CIrrDeviceWin32
CB3DMeshFileLoader5411913irr.scene.CB3DMeshFileLoader
COBJMeshFileLoader536213irr.scene.COBJMeshFileLoader
CGeometryCreator525130irr.scene.CGeometryCreator
CGUISkin514299irr.gui.CGUISkin

Statistics

Stat   # lines of code (LOC)   # Methods   # Fields
Sum:28 3241 673582
Average:944.1355.7719.4
Minimum:514130
Maximum:3 091144145
Standard deviation:529.1935.525.56
Variance:280 0411 260653.31
warningCritical    Critical Rule warning: Methods too complex - critical
// <Name>Methods too complex - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 && 
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, m.NestingDepth }

// Methods with CyclomaticComplexity > 20 and NestingDepth  > 5
// are really too complex and should be split 
// in smaller methods, or even types.
// See the definition of the CyclomaticComplexity metric here 
// http://www.cppdepend.com/Metrics.aspx#CC
// See the definition of the NestingDepth metric here 
// http://www.cppdepend.com/Metrics.aspx#NestingDepth

90 methods matched

methodsCyclomatic Complexity (CC)NestingDepthFull Name
png_combine_row(png_structp,png_bytep,int)9718__Globals.png_combine_row(png_structp,png_bytep,int)
BZ2_decompress(DState*)4107__Globals.BZ2_decompress(DState*)
inflate(z_streamp,int)16510__Globals.inflate(z_streamp,int)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)10925irr.video.COpenGLDriver.setBasicRenderStates (constirr::video::SMaterial&,constirr::video::SMaterial&,bool)
processKey(constirr::SEvent&)1077irr.gui.CGUIEditBox.processKey(constirr::SEvent&)
png_do_compose(png_row_infop,png_bytep,png_structp)8812__Globals.png_do_compose(png_row_infop,png_bytep,png_structp)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)7610irr.video.CD3D9Driver.setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)
readPolygonSection(io::IXMLReaderUTF8*,core::array<SSource>& ,scene::SMesh*,constcore::stringc&)768irr.scene.CColladaFileLoader.readPolygonSection(io::IXMLReaderUTF8* ,core::array<SSource>&,scene::SMesh*,constcore::stringc&)
parseDataObjectMesh(irr::scene::CXMeshFileLoader::SXMesh&)696irr.scene.CXMeshFileLoader.parseDataObjectMesh (irr::scene::CXMeshFileLoader::SXMesh&)
sendMTFValues(EState*)6510__Globals.sendMTFValues(EState*)
readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)647irr.scene.COgreMeshFileLoader.readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)
deflate(z_streamp,int)6232__Globals.deflate(z_streamp,int)
animate(u32,core::matrix4&)607irr.scene.CQuake3ShaderSceneNode.animate(u32,core::matrix4&)
load(io::IReadFile*)606irr.scene.CMS3DMeshFileLoader.load(io::IReadFile*)
png_set_quantize(png_structp,png_colorp,int,int,png_const_uint_16p,int )5411__Globals.png_set_quantize(png_structp,png_colorp,int,int ,png_const_uint_16p,int)
start_pass_huff_decoder(j_decompress_ptr)526__Globals.start_pass_huff_decoder(j_decompress_ptr)
png_init_read_transformations(png_structp)519__Globals.png_init_read_transformations(png_structp)
OnEvent(constirr::SEvent&)498irr.gui.CGUIListBox.OnEvent(constirr::SEvent&)
createMesh(io::IReadFile*)497irr.scene.CLWOMeshFileLoader.createMesh(io::IReadFile*)
createForsythOptimizedMesh(constscene::IMesh*)489irr.scene.CMeshManipulator.createForsythOptimizedMesh (constscene::IMesh*)
createMesh(io::IReadFile*)468irr.scene.CDMFLoader.createMesh(io::IReadFile*)
initDriver(HWND,bool)456irr.video.CD3D9Driver.initDriver(HWND,bool)
finalize()446irr.scene.CSkinnedMesh.finalize()
WndProc(HWND,UINT,WPARAM,LPARAM)436__Globals.WndProc(HWND,UINT,WPARAM,LPARAM)
setRenderTarget(constcore::array<video::IRenderTarget>&,bool,bool ,irr::video::SColor)436irr.video.COpenGLDriver.setRenderTarget(constcore::array <video::IRenderTarget>&,bool,bool,irr::video::SColor)
decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)4212__Globals.decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)
decode_mcu(j_decompress_ptr,JBLOCKROW*)4211__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
readEffect(io::IXMLReaderUTF8*,irr::scene::SColladaEffect*)429irr.scene.CColladaFileLoader.readEffect(io::IXMLReaderUTF8* ,irr::scene::SColladaEffect*)
OnEvent(constirr::SEvent&)428irr.gui.CGUIScrollBar.OnEvent(constirr::SEvent&)
writeMeshGeometry(constirr::core::stringw&,scene::IMesh*)417irr.scene.CColladaMeshWriter.writeMeshGeometry (constirr::core::stringw&,scene::IMesh*)
OnEvent(constirr::SEvent&)406irr.gui.CGUIComboBox.OnEvent(constirr::SEvent&)
png_push_process_row(png_structp)396__Globals.png_push_process_row(png_structp)
decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)3810__Globals.decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)
createTree(irr::scene::IMesh*)388irr.scene.COctreeSceneNode.createTree(irr::scene::IMesh*)
render()377irr.scene.COctreeSceneNode.render()
draw()377irr.gui.CGUIEditBox.draw()
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)377irr.video.CTRTextureGouraudAdd.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
render()366irr.scene.CAnimatedMeshSceneNode.render()
load(io::IReadFile*)357irr.scene.CXMeshFileLoader.load(io::IReadFile*)
getFrameData(f32,irr::scene::ISkinnedMesh::SJoint*,core::vector3df& ,s32&,core::vector3df&,s32&,core::quaternion&,s32&)356irr.scene.CSkinnedMesh.getFrameData(f32 ,irr::scene::ISkinnedMesh::SJoint*,core::vector3df&,s32& ,core::vector3df&,s32&,core::quaternion&,s32&)
loadHeightMapRAW(io::IReadFile*,s32,bool,bool,s32,video::SColor,s32)356irr.scene.CTerrainSceneNode.loadHeightMapRAW(io::IReadFile*,s32,bool ,bool,s32,video::SColor,s32)
png_ascii_from_fp(png_structp,png_charp,png_size_t,double,unsignedint)3410__Globals.png_ascii_from_fp(png_structp,png_charp,png_size_t,double ,unsignedint)
fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)347__Globals.fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)347irr.video.CTRTextureGouraud.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)347irr.video.CTRFlat.drawIndexedTriangleList(irr::video::S2DVertex*,s32 ,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)347irr.video.CTRGouraud.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)347irr.video.CTRTextureFlat.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
readMTL(constc8*,constio::path&)336irr.scene.COBJMeshFileLoader.readMTL(constc8*,constio::path&)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)336irr.video.CTRTextureGouraudNoZ.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
inflate_fast(z_streamp,unsignedint)3114__Globals.inflate_fast(z_streamp,unsignedint)
createMesh(io::IReadFile*)318irr.scene.CPLYMeshFileLoader.createMesh(io::IReadFile*)
createMesh(io::IReadFile*)316irr.scene.COBJMeshFileLoader.createMesh(io::IReadFile*)
readChunks()316irr.scene.CLWOMeshFileLoader.readChunks()
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)316irr.video.CTRFlatWire.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)316irr.video.CTRGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)316irr.video.CTRTextureFlatWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)316irr.video.CTRTextureGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
validate_script(j_compress_ptr)3013__Globals.validate_script(j_compress_ptr)
png_do_expand(png_row_infop,png_bytep,png_const_color_16p)308__Globals.png_do_expand(png_row_infop,png_bytep,png_const_color_16p)
buildMesh(s32)307irr.scene.CQ3LevelMesh.buildMesh(s32)
OnEvent(constirr::SEvent&)307irr.gui.CGUIFileOpenDialog.OnEvent(constirr::SEvent&)
OnEvent(constirr::SEvent&)306irr.gui.CGUIMessageBox.OnEvent(constirr::SEvent&)
png_free_data(png_structp,png_infop,png_uint_32,int)2917__Globals.png_free_data(png_structp,png_infop,png_uint_32,int)
drawVertexPrimitiveList(constvoid*,u32,constvoid*,u32 ,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)2915irr.video.COpenGLDriver.drawVertexPrimitiveList(constvoid*,u32 ,constvoid*,u32,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)
readParameter(io::IXMLReaderUTF8*,io::IAttributes*)296irr.scene.CColladaFileLoader.readParameter(io::IXMLReaderUTF8* ,io::IAttributes*)
loadImage(io::IReadFile*)296irr.video.CImageLoaderPPM.loadImage(io::IReadFile*)
decode_mcu(j_decompress_ptr,JBLOCKROW*)2810__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
OnEvent(constirr::SEvent&)287irr.gui.CGUITable.OnEvent(constirr::SEvent&)
LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)2714__Globals.LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)
draw()277irr.gui.CGUITreeView.draw()
breakText()277irr.gui.CGUIStaticText.breakText()
readGeometry(io::IXMLReaderUTF8*)276irr.scene.CColladaFileLoader.readGeometry(io::IXMLReaderUTF8*)
draw2DVertexPrimitiveList(constvoid*,u32,constvoid*,u32 ,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)2513irr.video.COpenGLDriver.draw2DVertexPrimitiveList(constvoid*,u32 ,constvoid*,u32,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)
decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)259__Globals.decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)
encode_mcu(j_compress_ptr,JBLOCKROW*)256__Globals.encode_mcu(j_compress_ptr,JBLOCKROW*)
fallbackQSort3(UInt32*,UInt32*,Int32,Int32)247__Globals.fallbackQSort3(UInt32*,UInt32*,Int32,Int32)
png_do_gamma(png_row_infop,png_bytep,png_structp)246__Globals.png_do_gamma(png_row_infop,png_bytep,png_structp)
png_write_info(png_structp,png_infop)239__Globals.png_write_info(png_structp,png_infop)
OnEvent(constirr::SEvent&)238irr.gui.CGUIColorSelectDialog.OnEvent(constirr::SEvent&)
png_do_read_interlace(png_row_infop,png_bytep,int,png_uint_32)237__Globals.png_do_read_interlace(png_row_infop,png_bytep,int ,png_uint_32)
initExtensions(bool)237irr.video.COpenGLExtensionHandler.initExtensions(bool)
dumpFramebufferFormats()237irr.video.COpenGLExtensionHandler.dumpFramebufferFormats()
png_set_filter(png_structp,int,int)2210__Globals.png_set_filter(png_structp,int,int)
OnEvent(constirr::SEvent&)227irr.gui.CGUITreeView.OnEvent(constirr::SEvent&)
draw()227irr.gui.CGUIStaticText.draw()
OnEvent(constirr::SEvent&)226irr.gui.CGUIMenu.OnEvent(constirr::SEvent&)
emitt(u32,u32,irr::scene::SParticle*&)217irr.scene.CParticleAnimatedMeshSceneNodeEmitter.emitt(u32,u32 ,irr::scene::SParticle*&)
emitt(u32,u32,irr::scene::SParticle*&)217irr.scene.CParticleMeshEmitter.emitt(u32,u32,irr::scene::SParticle*&)
composeObject()216irr.scene.COgreMeshFileLoader.composeObject()
addFileArchive(constio::path&,bool,bool,irr::io::E_FILE_ARCHIVE_TYPE ,constcore::stringc&,irr::io::IFileArchive**)216irr.io.CFileSystem.addFileArchive(constio::path&,bool,bool ,irr::io::E_FILE_ARCHIVE_TYPE,constcore::stringc& ,irr::io::IFileArchive**)

Statistics

Stat   Cyclomatic Complexity (CC)   NestingDepth
Sum:4 880746
Average:54.228.29
Minimum:216
Maximum:97132
Standard deviation:106.863.85
Variance:11 41914.85
warningCritical    Critical Rule warning: Methods with too many parameters - critical
// <Name>Methods with too many parameters - critical</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 8
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods with more than 8 parameters might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
//  and the method System.Diagnostics.Process.Start(ProcessStartInfo))
//  See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

82 methods matched

methods# ParametersFull Name
COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*,s32&,constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)17irr.video.COpenGLSLMaterialRenderer.COpenGLSLMaterialRenderer (irr::video::COpenGLDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.COpenGLDriver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CD3D9Driver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
createAnimatedMeshSceneNodeEmitter(scene::IAnimatedMeshSceneNode*,bool ,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createCylinderEmitter(constcore::vector3df&,f32,constcore::vector3df& ,f32,bool,constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
createMeshEmitter(scene::IMesh*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createMeshEmitter(scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
createAnimatedMeshSceneNodeEmitter(scene::IAnimatedMeshSceneNode*,bool ,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createCylinderEmitter(constcore::vector3df&,f32,constcore::vector3df& ,f32,bool,constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
createMeshEmitter(scene::IMesh*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createMeshEmitter(scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleAnimatedMeshSceneNodeEmitter .CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleCylinderEmitter(constcore::vector3df&,f32 ,constcore::vector3df&,f32,bool,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleCylinderEmitter.CParticleCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
CParticleMeshEmitter(irr::scene::IMesh*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleMeshEmitter.CParticleMeshEmitter(irr::scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
S3DVertexTangents(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32 ,f32,f32,f32,f32,f32,f32)15irr.video.S3DVertexTangents.S3DVertexTangents(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32,f32,f32,f32,f32,f32,f32)
createRingEmitter(constcore::vector3df&,f32,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.IParticleSystemSceneNode.createRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createRingEmitter(constcore::vector3df&,f32,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.CParticleSystemSceneNode.createRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleRingEmitter(constcore::vector3df&,f32,f32 ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.CParticleRingEmitter.CParticleRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)12__Globals.CD3D9HLSLMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
createSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.IParticleSystemSceneNode.createSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.CParticleSystemSceneNode.createSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.CParticleSphereEmitter.CParticleSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
writeElement(constwchar_t*,bool,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*)12irr.io.IXMLWriter.writeElement(constwchar_t*,bool,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*)
writeElement(constwchar_t*,bool,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*)12irr.io.CXMLWriter.writeElement(constwchar_t*,bool,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*)
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)12irr.video.CD3D9HLSLMaterialRenderer.CD3D9HLSLMaterialRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*,double*)11__Globals.png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_cHRM_XYZ_fixed(png_structp,png_const_infop,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point*)11__Globals.png_get_cHRM_XYZ_fixed(png_structp,png_const_infop ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*)
png_set_cHRM_XYZ(png_structp,png_infop,double,double,double,double ,double,double,double,double,double)11__Globals.png_set_cHRM_XYZ(png_structp,png_infop,double,double,double ,double,double,double,double,double,double)
png_set_cHRM_XYZ_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point)11__Globals.png_set_cHRM_XYZ_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point)
addTerrainSceneNode(constio::path&,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.ISceneManager.addTerrainSceneNode(constio::path& ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
addTerrainSceneNode(io::IReadFile*,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.ISceneManager.addTerrainSceneNode(io::IReadFile* ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
createBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)11irr.scene.IParticleSystemSceneNode.createBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
addTerrainSceneNode(constio::path&,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.CSceneManager.addTerrainSceneNode(constio::path& ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
addTerrainSceneNode(io::IReadFile*,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.CSceneManager.addTerrainSceneNode(io::IReadFile* ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
createBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)11irr.scene.CParticleSystemSceneNode.createBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32 ,u32,video::SColor,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)11irr.scene.CParticleBoxEmitter.CParticleBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32,video::SColor ,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
S3DVertex2TCoords(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32 ,f32,f32)11irr.video.S3DVertex2TCoords.S3DVertex2TCoords(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32,f32,f32)
png_get_cHRM(png_const_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*)10__Globals.png_get_cHRM(png_const_structp,png_const_infop,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_cHRM_fixed(png_const_structp,png_const_infop,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*)10__Globals.png_get_cHRM_fixed(png_const_structp,png_const_infop ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point*)
png_set_cHRM(png_structp,png_infop,double,double,double,double,double ,double,double,double)10__Globals.png_set_cHRM(png_structp,png_infop,double,double,double ,double,double,double,double,double)
png_set_cHRM_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)10__Globals.png_set_cHRM_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
addCameraSceneNodeFPS(irr::scene::ISceneNode*,f32,f32,s32 ,irr::SKeyMap*,s32,bool,f32,bool,bool)10irr.scene.ISceneManager.addCameraSceneNodeFPS(irr::scene::ISceneNode* ,f32,f32,s32,irr::SKeyMap*,s32,bool,f32,bool,bool)
createPointEmitter(constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.IParticleSystemSceneNode.createPointEmitter (constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
addCameraSceneNodeFPS(irr::scene::ISceneNode*,f32,f32,s32 ,irr::SKeyMap*,s32,bool,f32,bool,bool)10irr.scene.CSceneManager.addCameraSceneNodeFPS(irr::scene::ISceneNode* ,f32,f32,s32,irr::SKeyMap*,s32,bool,f32,bool,bool)
createPointEmitter(constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.CParticleSystemSceneNode.createPointEmitter (constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
CWaterSurfaceSceneNode(f32,f32,f32,irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)10irr.scene.CWaterSurfaceSceneNode.CWaterSurfaceSceneNode(f32,f32,f32 ,irr::scene::IMesh*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& )
getCollisionResultPosition(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*& ,f32,constcore::vector3df&)10irr.scene.ISceneCollisionManager.getCollisionResultPosition (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,core::triangle3df& ,core::vector3df&,bool&,irr::scene::ISceneNode*&,f32 ,constcore::vector3df&)
CVolumeLightSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)10irr.scene.CVolumeLightSceneNode.CVolumeLightSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,constu32 ,constu32,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
getCollisionResultPosition(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*& ,f32,constcore::vector3df&)10irr.scene.CSceneCollisionManager.getCollisionResultPosition (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,core::triangle3df& ,core::vector3df&,bool&,irr::scene::ISceneNode*&,f32 ,constcore::vector3df&)
collideEllipsoidWithWorld(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&,f32 ,constcore::vector3df&,core::triangle3df&,core::vector3df&,bool& ,irr::scene::ISceneNode*&)10irr.scene.CSceneCollisionManager.collideEllipsoidWithWorld (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,f32,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*&)
CParticlePointEmitter(constcore::vector3df&,u32,u32,video::SColor ,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.CParticlePointEmitter.CParticlePointEmitter (constcore::vector3df&,u32,u32,video::SColor,video::SColor,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte*,unsignedint ,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)9__Globals.LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte* ,unsignedint,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)
png_check_cHRM_fixed(png_structp,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point)9__Globals.png_check_cHRM_fixed(png_structp,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
png_get_IHDR(png_structp,png_infop,png_uint_32*,png_uint_32*,int*,int* ,int*,int*,int*)9__Globals.png_get_IHDR(png_structp,png_infop,png_uint_32*,png_uint_32* ,int*,int*,int*,int*,int*)
png_get_pCAL(png_const_structp,png_const_infop,png_charp*,png_int_32* ,png_int_32*,int*,int*,png_charp*,png_charpp*)9__Globals.png_get_pCAL(png_const_structp,png_const_infop,png_charp* ,png_int_32*,png_int_32*,int*,int*,png_charp*,png_charpp*)
png_set_IHDR(png_structp,png_infop,png_uint_32,png_uint_32,int,int,int ,int,int)9__Globals.png_set_IHDR(png_structp,png_infop,png_uint_32,png_uint_32 ,int,int,int,int,int)
png_set_pCAL(png_structp,png_infop,png_const_charp,png_int_32 ,png_int_32,int,int,png_const_charp,png_charpp)9__Globals.png_set_pCAL(png_structp,png_infop,png_const_charp ,png_int_32,png_int_32,int,int,png_const_charp,png_charpp)
png_write_cHRM_fixed(png_structp,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point)9__Globals.png_write_cHRM_fixed(png_structp,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
addVolumeLightSceneNode(irr::scene::ISceneNode*,s32,constu32,constu32 ,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.ISceneManager.addVolumeLightSceneNode (irr::scene::ISceneNode*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)
addWaterSurfaceSceneNode(irr::scene::IMesh*,f32,f32,f32 ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.ISceneManager.addWaterSurfaceSceneNode(irr::scene::IMesh* ,f32,f32,f32,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
addArrowMesh(constio::path&,video::SColor,video::SColor,u32,u32,f32 ,f32,f32,f32)9irr.scene.ISceneManager.addArrowMesh(constio::path&,video::SColor ,video::SColor,u32,u32,f32,f32,f32,f32)
addVolumeLightSceneNode(irr::scene::ISceneNode*,s32,constu32,constu32 ,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSceneManager.addVolumeLightSceneNode (irr::scene::ISceneNode*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)
addWaterSurfaceSceneNode(irr::scene::IMesh*,f32,f32,f32 ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSceneManager.addWaterSurfaceSceneNode(irr::scene::IMesh* ,f32,f32,f32,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
addArrowMesh(constio::path&,video::SColor,video::SColor,u32,u32,f32 ,f32,f32,f32)9irr.scene.CSceneManager.addArrowMesh(constio::path&,video::SColor ,video::SColor,u32,u32,f32,f32,f32,f32)
calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,core::vector3df&,core::vector3df&,core::vector3df&,core::vector2df& ,core::vector2df&,core::vector2df&)9irr.scene.CSkinnedMesh.calculateTangents(core::vector3df& ,core::vector3df&,core::vector3df&,core::vector3df&,core::vector3df& ,core::vector3df&,core::vector2df&,core::vector2df&,core::vector2df&)
CSphereSceneNode(f32,u32,u32,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSphereSceneNode.CSphereSceneNode(f32,u32,u32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)9irr.scene.CSkyBoxSceneNode.CSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32)
CSkyDomeSceneNode(video::ITexture*,u32,u32,f32,f32,f32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)9irr.scene.CSkyDomeSceneNode.CSkyDomeSceneNode(video::ITexture*,u32,u32 ,f32,f32,f32,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)
CTerrainSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,io::IFileSystem*,s32,s32,irr::scene::E_TERRAIN_PATCH_SIZE ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)9irr.scene.CTerrainSceneNode.CTerrainSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,io::IFileSystem*,s32,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CBillboardTextSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,gui::IGUIFont*,constwchar_t* ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)9irr.scene.CBillboardTextSceneNode.CBillboardTextSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,gui::IGUIFont* ,constwchar_t*,constcore::vector3df&,constcore::dimension2d<f32>& ,video::SColor,video::SColor)
calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,constcore::vector2df&,constcore::vector2df&,constcore::vector2df&)9irr.scene.anonymous_namespace{cmeshmanipulator.cpp}.__Globals .calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,constcore::vector2df&,constcore::vector2df&,constcore::vector2df&)
S3DVertex(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32)9irr.video.S3DVertex.S3DVertex(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32)
S3DVertex2TCoords(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32)9irr.video.S3DVertex2TCoords.S3DVertex2TCoords(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32)
addHighLevelShaderMaterial(constc8*,constc8*,constc8* ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)9irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,constc8*,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)
addHighLevelShaderMaterialFromFiles(constio::path&,constio::path& ,constio::path&,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)9irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constio::path&,constio::path&,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32)

Statistics

Stat   # Parameters
Sum:936
Average:11.41
Minimum:9
Maximum:17
Standard deviation:2.5
Variance:6.27
warningCritical    Rule warning: Quick summary of methods to refactor
// <Name>Quick summary of methods to refactor</Name>
warnif count > 0 from m in JustMyCode.Methods where 
                                    
// Code Metrics' definitions
  m.NbLinesOfCode > 30 ||           // http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
  m.MaxNestedLoop > 3 ||       // http://www.cppdepend.com/Metrics.aspx#NbILInstructions
  m.CyclomaticComplexity > 20 ||    // http://www.cppdepend.com/Metrics.aspx#CC
  m.NestingDepth > 5 ||           // http://www.cppdepend.com/Metrics.aspx#ILNestingDepth
  m.NbParameters > 5 ||             // http://www.cppdepend.com/Metrics.aspx#NbParameters
  m.NbVariables > 8 ||              // http://www.cppdepend.com/Metrics.aspx#NbVariables
  m.NbOverloads > 6                 // http://www.cppdepend.com/Metrics.aspx#NbOverloads

select new { m, m.NbLinesOfCode, m.MaxNestedLoop, m.CyclomaticComplexity, 
              
m.NestingDepth, 
             
m.NbParameters, m.NbVariables, m.NbOverloads } 

1,303 methods matched

methods# lines of code (LOC)MaxNestedLoopCyclomatic Complexity (CC)NestingDepth# Parameters# Variables# OverloadsFull Name
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)100421201__Globals.CD3D9HLSLMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
CD3D9ShaderMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver* ,s32&,constc8*,constc8*,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)10031802__Globals.CD3D9ShaderMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
createDevice(video::E_DRIVER_TYPE,constcore::dimension2d<u32>&,u32 ,bool,bool,bool,irr::IEventReceiver*)9011711__Globals.createDevice(video::E_DRIVER_TYPE,constcore::dimension2d<u32 >&,u32,bool,bool,bool,irr::IEventReceiver*)
LzmaDec_DecodeToDic(CLzmaDec*,SizeT,constByte*,SizeT*,ELzmaFinishMode ,ELzmaStatus*)832235681__Globals.LzmaDec_DecodeToDic(CLzmaDec*,SizeT,constByte*,SizeT* ,ELzmaFinishMode,ELzmaStatus*)
LzmaDec_DecodeToBuf(CLzmaDec*,Byte*,SizeT*,constByte*,SizeT* ,ELzmaFinishMode,ELzmaStatus*)26163771__Globals.LzmaDec_DecodeToBuf(CLzmaDec*,Byte*,SizeT*,constByte*,SizeT* ,ELzmaFinishMode,ELzmaStatus*)
LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte*,unsignedint ,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)23042941__Globals.LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte* ,unsignedint,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)
LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)229027143411__Globals.LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)
LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)158013193201__Globals.LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)
adler32(uLong,constBytef*,uInt)552123321__Globals.adler32(uLong,constBytef*,uInt)
deflate(z_streamp,int)220162322101__Globals.deflate(z_streamp,int)
deflateSetDictionary(z_streamp,constBytef*,uInt)57173361__Globals.deflateSetDictionary(z_streamp,constBytef*,uInt)
deflateCopy(z_streamp,z_streamp)47041231__Globals.deflateCopy(z_streamp,z_streamp)
deflateBound(z_streamp,uLong)510133241__Globals.deflateBound(z_streamp,uLong)
deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)790123841__Globals.deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)
fill_window(deflate_state*)761164181__Globals.fill_window(deflate_state*)
deflate_fast(deflate_state*,int)521132221__Globals.deflate_fast(deflate_state*,int)
deflate_slow(deflate_state*,int)721185231__Globals.deflate_slow(deflate_state*,int)
deflate_rle(deflate_state*,int)531132261__Globals.deflate_rle(deflate_state*,int)
longest_match(deflate_state*,IPos)440942121__Globals.longest_match(deflate_state*,IPos)
inflate_fast(z_streamp,unsignedint)203131142211__Globals.inflate_fast(z_streamp,unsignedint)
inflate(z_streamp,int)6067165102171__Globals.inflate(z_streamp,int)
inflateSetDictionary(z_streamp,constBytef*,uInt)33063351__Globals.inflateSetDictionary(z_streamp,constBytef*,uInt)
inflateSync(z_streamp)36163151__Globals.inflateSync(z_streamp)
inflateCopy(z_streamp,z_streamp)42071241__Globals.inflateCopy(z_streamp,z_streamp)
inflateInit2_(z_streamp,int,constchar*,int)31072421__Globals.inflateInit2_(z_streamp,int,constchar*,int)
updatewindow(z_streamp,unsignedint)35093231__Globals.updatewindow(z_streamp,unsignedint)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)18023336251__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
_tr_flush_block(deflate_state*,charf*,ulg,int)61096471__Globals._tr_flush_block(deflate_state*,charf*,ulg,int)
_tr_align(deflate_state*)31035141__Globals._tr_align(deflate_state*)
gen_bitlen(deflate_state*,tree_desc*)5331532131__Globals.gen_bitlen(deflate_state*,tree_desc*)
build_tree(deflate_state*,tree_desc*)39183271__Globals.build_tree(deflate_state*,tree_desc*)
scan_tree(deflate_state*,ct_data*,int)331113371__Globals.scan_tree(deflate_state*,ct_data*,int)
send_tree(deflate_state*,ct_data*,int)79114123131__Globals.send_tree(deflate_state*,ct_data*,int)
send_all_trees(deflate_state*,int,int,int)29138431__Globals.send_all_trees(deflate_state*,int,int,int)
compress_block(deflate_state*,ct_data*,ct_data*)59078391__Globals.compress_block(deflate_state*,ct_data*,ct_data*)
uncompress(Bytef*,uLongf*,constBytef*,uLong)31061421__Globals.uncompress(Bytef*,uLongf*,constBytef*,uLong)
zlibCompileFlags()540172011__Globals.zlibCompileFlags()
jpeg_CreateCompress(j_compress_ptr,int,size_t)42152331__Globals.jpeg_CreateCompress(j_compress_ptr,int,size_t)
finish_pass(j_compress_ptr)480164121__Globals.finish_pass(j_compress_ptr)
arith_encode(j_compress_ptr,unsignedchar*,int)640166361__Globals.arith_encode(j_compress_ptr,unsignedchar*,int)
encode_mcu_DC_first(j_compress_ptr,JBLOCKROW*)542125292__Globals.encode_mcu_DC_first(j_compress_ptr,JBLOCKROW*)
encode_mcu_AC_first(j_compress_ptr,JBLOCKROW*)6221952102__Globals.encode_mcu_AC_first(j_compress_ptr,JBLOCKROW*)
encode_mcu_AC_refine(j_compress_ptr,JBLOCKROW*)592206292__Globals.encode_mcu_AC_refine(j_compress_ptr,JBLOCKROW*)
encode_mcu(j_compress_ptr,JBLOCKROW*)9532562131__Globals.encode_mcu(j_compress_ptr,JBLOCKROW*)
start_pass(j_compress_ptr,boolean)501133243__Globals.start_pass(j_compress_ptr,boolean)
compress_data(j_compress_ptr,JSAMPIMAGE)4051182141__Globals.compress_data(j_compress_ptr,JSAMPIMAGE)
compress_first_pass(j_compress_ptr,JSAMPIMAGE)4741262171__Globals.compress_first_pass(j_compress_ptr,JSAMPIMAGE)
compress_output(j_compress_ptr,JSAMPIMAGE)316872112__Globals.compress_output(j_compress_ptr,JSAMPIMAGE)
jinit_color_converter(j_compress_ptr)880323111__Globals.jinit_color_converter(j_compress_ptr)
rgb_ycc_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE,JDIMENSION,int)252335111__Globals.rgb_ycc_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE ,JDIMENSION,int)
rgb_gray_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE,JDIMENSION,int)19233592__Globals.rgb_gray_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE ,JDIMENSION,int)
cmyk_ycck_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE,JDIMENSION,int)292335121__Globals.cmyk_ycck_convert(j_compress_ptr,JSAMPARRAY,JSAMPIMAGE ,JDIMENSION,int)
forward_DCT(j_compress_ptr,jpeg_component_info*,JSAMPARRAY,JBLOCKROW ,JDIMENSION,JDIMENSION,JDIMENSION)23244791__Globals.forward_DCT(j_compress_ptr,jpeg_component_info*,JSAMPARRAY ,JBLOCKROW,JDIMENSION,JDIMENSION,JDIMENSION)
forward_DCT_float(j_compress_ptr,jpeg_component_info*,JSAMPARRAY ,JBLOCKROW,JDIMENSION,JDIMENSION,JDIMENSION)14233771__Globals.forward_DCT_float(j_compress_ptr,jpeg_component_info* ,JSAMPARRAY,JBLOCKROW,JDIMENSION,JDIMENSION,JDIMENSION)
start_pass_fdctmgr(j_compress_ptr)23335151121__Globals.start_pass_fdctmgr(j_compress_ptr)
jpeg_make_c_derived_tbl(j_compress_ptr,boolean,int,c_derived_tbl**)4921434111__Globals.jpeg_make_c_derived_tbl(j_compress_ptr,boolean,int ,c_derived_tbl**)
encode_mcu_DC_first(j_compress_ptr,JBLOCKROW*)452103292__Globals.encode_mcu_DC_first(j_compress_ptr,JBLOCKROW*)
encode_mcu_AC_first(j_compress_ptr,JBLOCKROW*)6021732102__Globals.encode_mcu_AC_first(j_compress_ptr,JBLOCKROW*)
encode_mcu_AC_refine(j_compress_ptr,JBLOCKROW*)6921732122__Globals.encode_mcu_AC_refine(j_compress_ptr,JBLOCKROW*)
encode_one_block(working_state*,JCOEFPTR,int,c_derived_tbl* ,c_derived_tbl*)572184581__Globals.encode_one_block(working_state*,JCOEFPTR,int,c_derived_tbl* ,c_derived_tbl*)
encode_mcu_huff(j_compress_ptr,JBLOCKROW*)31184251__Globals.encode_mcu_huff(j_compress_ptr,JBLOCKROW*)
htest_one_block(j_compress_ptr,JCOEFPTR,int,long*,long*)362114561__Globals.htest_one_block(j_compress_ptr,JCOEFPTR,int,long*,long*)
jpeg_gen_optimal_table(j_compress_ptr,JHUFF_TBL*,long*)623204391__Globals.jpeg_gen_optimal_table(j_compress_ptr,JHUFF_TBL*,long*)
finish_pass_gather(j_compress_ptr)32196171__Globals.finish_pass_gather(j_compress_ptr)
start_pass_huff(j_compress_ptr,boolean)681176241__Globals.start_pass_huff(j_compress_ptr,boolean)
write_frame_header(j_compress_ptr)351116141__Globals.write_frame_header(j_compress_ptr)
jpeg_calc_jpeg_dimensions(j_compress_ptr)820172101__Globals.jpeg_calc_jpeg_dimensions(j_compress_ptr)
jinit_c_master_control(j_compress_ptr,boolean)37071211__Globals.jinit_c_master_control(j_compress_ptr,boolean)
initial_setup(j_compress_ptr,boolean)1172273252__Globals.initial_setup(j_compress_ptr,boolean)
validate_script(j_compress_ptr)78630131131__Globals.validate_script(j_compress_ptr)
per_scan_setup(j_compress_ptr)502104152__Globals.per_scan_setup(j_compress_ptr)
prepare_for_pass(j_compress_ptr)620125111__Globals.prepare_for_pass(j_compress_ptr)
jpeg_set_defaults(j_compress_ptr)47151111__Globals.jpeg_set_defaults(j_compress_ptr)
jpeg_set_colorspace(j_compress_ptr,J_COLOR_SPACE)731113221__Globals.jpeg_set_colorspace(j_compress_ptr,J_COLOR_SPACE)
jpeg_simple_progression(j_compress_ptr)42062131__Globals.jpeg_simple_progression(j_compress_ptr)
fill_a_scan(jpeg_scan_info*,int,int,int,int,int)8011601__Globals.fill_a_scan(jpeg_scan_info*,int,int,int,int,int)
fill_scans(jpeg_scan_info*,int,int,int,int,int)10122611__Globals.fill_scans(jpeg_scan_info*,int,int,int,int,int)
pre_process_data(j_compress_ptr,JSAMPARRAY,JDIMENSION*,JDIMENSION ,JSAMPIMAGE,JDIMENSION*,JDIMENSION)27274751__Globals.pre_process_data(j_compress_ptr,JSAMPARRAY,JDIMENSION* ,JDIMENSION,JSAMPIMAGE,JDIMENSION*,JDIMENSION)
pre_process_context(j_compress_ptr,JSAMPARRAY,JDIMENSION*,JDIMENSION ,JSAMPIMAGE,JDIMENSION*,JDIMENSION)353126761__Globals.pre_process_context(j_compress_ptr,JSAMPARRAY,JDIMENSION* ,JDIMENSION,JSAMPIMAGE,JDIMENSION*,JDIMENSION)
jinit_downsampler(j_compress_ptr)491105181__Globals.jinit_downsampler(j_compress_ptr)
int_downsample(j_compress_ptr,jpeg_component_info*,JSAMPARRAY ,JSAMPARRAY)244554151__Globals.int_downsample(j_compress_ptr,jpeg_component_info* ,JSAMPARRAY,JSAMPARRAY)
h2v2_smooth_downsample(j_compress_ptr,jpeg_component_info*,JSAMPARRAY ,JSAMPARRAY)682334131__Globals.h2v2_smooth_downsample(j_compress_ptr,jpeg_component_info* ,JSAMPARRAY,JSAMPARRAY)
fullsize_smooth_downsample(j_compress_ptr,jpeg_component_info* ,JSAMPARRAY,JSAMPARRAY)452334141__Globals.fullsize_smooth_downsample(j_compress_ptr ,jpeg_component_info*,JSAMPARRAY,JSAMPARRAY)
jpeg_copy_critical_parameters(j_decompress_ptr,j_compress_ptr)593134281__Globals.jpeg_copy_critical_parameters(j_decompress_ptr ,j_compress_ptr)
compress_output(j_compress_ptr,JSAMPIMAGE)4161172152__Globals.compress_output(j_compress_ptr,JSAMPIMAGE)
jpeg_CreateDecompress(j_decompress_ptr,int,size_t)36252331__Globals.jpeg_CreateDecompress(j_decompress_ptr,int,size_t)
jpeg_consume_input(j_decompress_ptr)320132111__Globals.jpeg_consume_input(j_decompress_ptr)
default_decompress_parms(j_decompress_ptr)1490164131__Globals.default_decompress_parms(j_decompress_ptr)
jpeg_start_decompress(j_decompress_ptr)311127111__Globals.jpeg_start_decompress(j_decompress_ptr)
arith_decode(j_decompress_ptr,unsignedchar*)491126271__Globals.arith_decode(j_decompress_ptr,unsignedchar*)
decode_mcu_DC_first(j_decompress_ptr,JBLOCKROW*)502146292__Globals.decode_mcu_DC_first(j_decompress_ptr,JBLOCKROW*)
decode_mcu_AC_first(j_decompress_ptr,JBLOCKROW*)523168292__Globals.decode_mcu_AC_first(j_decompress_ptr,JBLOCKROW*)
decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)4821652102__Globals.decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)
decode_mcu(j_decompress_ptr,JBLOCKROW*)92328102122__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
start_pass(j_decompress_ptr)732295183__Globals.start_pass(j_decompress_ptr)
jinit_d_coef_controller(j_decompress_ptr,boolean)34163261__Globals.jinit_d_coef_controller(j_decompress_ptr,boolean)
decompress_onepass(j_decompress_ptr,JSAMPIMAGE)4451372151__Globals.decompress_onepass(j_decompress_ptr,JSAMPIMAGE)
decompress_data(j_decompress_ptr,JSAMPIMAGE)4031142121__Globals.decompress_data(j_decompress_ptr,JSAMPIMAGE)
smoothing_ok(j_decompress_ptr)41293181__Globals.smoothing_ok(j_decompress_ptr)
decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)159338102401__Globals.decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)

Statistics

Stat   # lines of code (LOC)   MaxNestedLoop   Cyclomatic Complexity (CC)   NestingDepth   # Parameters   # Variables   # Overloads
Sum:70 0731 12922 3424 0824 6309 7186 591
Average:53.780.8717.153.133.557.465.06
Minimum:0010001
Maximum:1 563123 366321710448
Standard deviation:74.451.15135.132.553.019.6712.33
Variance:5 5431.3118 2606.519.0993.53151.92
warningCritical    Rule warning: Methods too big
// <Name>Methods too big</Name>
warnif count > 0 from m in JustMyCode.Methods where 
   
m.NbLinesOfCode > 30 
   
orderby m.NbLinesOfCode descending
           
select new { m, m.NbLinesOfCode}

// Methods where NbLinesOfCode > 30 
// are extremely complex and should be split in smaller methods.
// See the definition of the NbLinesOfCode metric here 
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode

837 methods matched

methods# lines of code (LOC)Full Name
BZ2_decompress(DState*)1 563__Globals.BZ2_decompress(DState*)
writeMeshGeometry(constirr::core::stringw&,scene::IMesh*)728irr.scene.CColladaMeshWriter.writeMeshGeometry (constirr::core::stringw&,scene::IMesh*)
readMat(u32)645irr.scene.CLWOMeshFileLoader.readMat(u32)
inflate(z_streamp,int)606__Globals.inflate(z_streamp,int)
sendMTFValues(EState*)562__Globals.sendMTFValues(EState*)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)424irr.video.COpenGLDriver.setBasicRenderStates (constirr::video::SMaterial&,constirr::video::SMaterial&,bool)
readPolygonSection(io::IXMLReaderUTF8*,core::array<SSource>& ,scene::SMesh*,constcore::stringc&)383irr.scene.CColladaFileLoader.readPolygonSection(io::IXMLReaderUTF8* ,core::array<SSource>&,scene::SMesh*,constcore::stringc&)
png_do_compose(png_row_infop,png_bytep,png_structp)382__Globals.png_do_compose(png_row_infop,png_bytep,png_structp)
initExtensions(bool)373irr.video.COpenGLExtensionHandler.initExtensions(bool)
png_write_find_filter(png_structp,png_row_infop)314__Globals.png_write_find_filter(png_structp,png_row_infop)
load(io::IReadFile*)300irr.scene.CMS3DMeshFileLoader.load(io::IReadFile*)
png_init_read_transformations(png_structp)298__Globals.png_init_read_transformations(png_structp)
processKey(constirr::SEvent&)295irr.gui.CGUIEditBox.processKey(constirr::SEvent&)
createMesh(io::IReadFile*)278irr.scene.CMY3DMeshFileLoader.createMesh(io::IReadFile*)
parseDataObjectMesh(irr::scene::CXMeshFileLoader::SXMesh&)263irr.scene.CXMeshFileLoader.parseDataObjectMesh (irr::scene::CXMeshFileLoader::SXMesh&)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)263irr.video.CD3D9Driver.setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)
png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int,int,int,int )256__Globals.png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int ,int,int,int)
animate(u32,core::matrix4&)254irr.scene.CQuake3ShaderSceneNode.animate(u32,core::matrix4&)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)243irr.video.CTRTextureGouraudAdd.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
initDriver(HWND,bool)243irr.video.CD3D9Driver.initDriver(HWND,bool)
createForsythOptimizedMesh(constscene::IMesh*)237irr.scene.CMeshManipulator.createForsythOptimizedMesh (constscene::IMesh*)
start_pass_fdctmgr(j_compress_ptr)233__Globals.start_pass_fdctmgr(j_compress_ptr)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)233irr.video.CTRTextureGouraud.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)229__Globals.LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)
deflate(z_streamp,int)220__Globals.deflate(z_streamp,int)
start_pass(j_decompress_ptr)213__Globals.start_pass(j_decompress_ptr)
createScreenShot(video::ECOLOR_FORMAT,video::E_RENDER_TARGET)213irr.video.COpenGLDriver.createScreenShot(video::ECOLOR_FORMAT ,video::E_RENDER_TARGET)
VertexCache_fill(constu32,constu32)211irr.video.CBurningVideoDriver.VertexCache_fill(constu32,constu32)
readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)209irr.scene.C3DSMeshFileLoader.readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)
initDriver(irr::CIrrDeviceWin32*)208irr.video.COpenGLDriver.initDriver(irr::CIrrDeviceWin32*)
png_push_read_chunk(png_structp,png_infop)204__Globals.png_push_read_chunk(png_structp,png_infop)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)204irr.video.CTRTextureGouraudNoZ.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
inflate_fast(z_streamp,unsignedint)203__Globals.inflate_fast(z_streamp,unsignedint)
jpeg_idct_16x16(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)203__Globals.jpeg_idct_16x16(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_set_quantize(png_structp,png_colorp,int,int,png_const_uint_16p,int )201__Globals.png_set_quantize(png_structp,png_colorp,int,int ,png_const_uint_16p,int)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)201irr.video.CTRTextureGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
jpeg_idct_16x8(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)200__Globals.jpeg_idct_16x8(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)194irr.video.CTRGouraud.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
createAndOpenFile(u32)191irr.io.CZipReader.createAndOpenFile(u32)
initial_setup(j_decompress_ptr)182__Globals.initial_setup(j_decompress_ptr)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)180__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)180irr.scene.COgreMeshFileLoader.readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)180irr.video.CTRTextureFlat.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
unRLE_obuf_to_output_FAST(DState*)178__Globals.unRLE_obuf_to_output_FAST(DState*)
jpeg_idct_15x15(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)177__Globals.jpeg_idct_15x15(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
createMesh(io::IReadFile*)177irr.scene.CDMFLoader.createMesh(io::IReadFile*)
WndProc(HWND,UINT,WPARAM,LPARAM)176__Globals.WndProc(HWND,UINT,WPARAM,LPARAM)
createMesh(io::IReadFile*)176irr.scene.COBJMeshFileLoader.createMesh(io::IReadFile*)
png_combine_row(png_structp,png_bytep,int)169__Globals.png_combine_row(png_structp,png_bytep,int)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)168irr.video.CTRGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawVertexPrimitiveList(constvoid*,u32,constvoid*,u32 ,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)168irr.video.COpenGLDriver.drawVertexPrimitiveList(constvoid*,u32 ,constvoid*,u32,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)
jpeg_idct_14x14(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)167__Globals.jpeg_idct_14x14(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)167__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
OnEvent(constirr::SEvent&)167irr.gui.CGUIScrollBar.OnEvent(constirr::SEvent&)
dumpFramebufferFormats()167irr.video.COpenGLExtensionHandler.dumpFramebufferFormats()
OnEvent(constirr::SEvent&)166irr.gui.CGUIListBox.OnEvent(constirr::SEvent&)
jpeg_idct_islow(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)165__Globals.jpeg_idct_islow(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_13x13(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)161__Globals.jpeg_idct_13x13(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
createTree(irr::scene::IMesh*)160irr.scene.COctreeSceneNode.createTree(irr::scene::IMesh*)
decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)159__Globals.decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)
loadHeightMapRAW(io::IReadFile*,s32,bool,bool,s32,video::SColor,s32)159irr.scene.CTerrainSceneNode.loadHeightMapRAW(io::IReadFile*,s32,bool ,bool,s32,video::SColor,s32)
LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)158__Globals.LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)
png_read_row(png_structp,png_bytep,png_bytep)158__Globals.png_read_row(png_structp,png_bytep,png_bytep)
createMesh(io::IReadFile*)157irr.scene.CLWOMeshFileLoader.createMesh(io::IReadFile*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)157irr.video.CTRTextureFlatWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
assignHardwareLight(u32)157irr.video.COpenGLDriver.assignHardwareLight(u32)
decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)156__Globals.decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)
jpeg_idct_8x16(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)155__Globals.jpeg_idct_8x16(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
decode_mcu(j_decompress_ptr,JBLOCKROW*)153__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
png_do_expand(png_row_infop,png_bytep,png_const_color_16p)153__Globals.png_do_expand(png_row_infop,png_bytep,png_const_color_16p)
LocaleIdToCodepage(unsignedint)153__Globals.LocaleIdToCodepage(unsignedint)
default_decompress_parms(j_decompress_ptr)149__Globals.default_decompress_parms(j_decompress_ptr)
jpeg_idct_12x12(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)149__Globals.jpeg_idct_12x12(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
COpenGLExtensionHandler()149irr.video.COpenGLExtensionHandler.COpenGLExtensionHandler()
drawTriangle(constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)149irr.video.CTRNormalMap.drawTriangle(constirr::video::s4DVertex* ,constirr::video::s4DVertex*,constirr::video::s4DVertex*)
setRenderTarget(constcore::array<video::IRenderTarget>&,bool,bool ,irr::video::SColor)147irr.video.COpenGLDriver.setRenderTarget(constcore::array <video::IRenderTarget>&,bool,bool,irr::video::SColor)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)145__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)145irr.video.CTRFlat.drawIndexedTriangleList(irr::video::S2DVertex*,s32 ,constu16*,s32)
png_do_read_interlace(png_row_infop,png_bytep,int,png_uint_32)143__Globals.png_do_read_interlace(png_row_infop,png_bytep,int ,png_uint_32)
drawAll()143irr.scene.CSceneManager.drawAll()
start_pass_huff_decoder(j_decompress_ptr)142__Globals.start_pass_huff_decoder(j_decompress_ptr)
jpeg_fdct_16x16(DCTELEM*,JSAMPARRAY,JDIMENSION)142__Globals.jpeg_fdct_16x16(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_14x7(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)141__Globals.jpeg_idct_14x7(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_ifast(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)140__Globals.jpeg_idct_ifast(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_free_data(png_structp,png_infop,png_uint_32,int)139__Globals.png_free_data(png_structp,png_infop,png_uint_32,int)
jpeg_idct_11x11(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)137__Globals.jpeg_idct_11x11(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
draw()137irr.gui.CGUITreeView.draw()
unRLE_obuf_to_output_SMALL(DState*)136__Globals.unRLE_obuf_to_output_SMALL(DState*)
createMesh(io::IReadFile*)135irr.scene.COCTLoader.createMesh(io::IReadFile*)
jpeg_fdct_14x14(DCTELEM*,JSAMPARRAY,JDIMENSION)134__Globals.jpeg_fdct_14x14(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_10x10(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)134__Globals.jpeg_idct_10x10(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
draw2DVertexPrimitiveList(constvoid*,u32,constvoid*,u32 ,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)134irr.video.COpenGLDriver.draw2DVertexPrimitiveList(constvoid*,u32 ,constvoid*,u32,irr::video::E_VERTEX_TYPE,scene::E_PRIMITIVE_TYPE ,irr::video::E_INDEX_TYPE)
getBlendFunc(constcore::stringc&,irr::scene::quake3::SBlendFunc&)131irr.scene.quake3.__Globals.getBlendFunc(constcore::stringc& ,irr::scene::quake3::SBlendFunc&)
drawTriangle(constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)130irr.video.CBurningShader_Raster_Reference.drawTriangle (constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)
drawTriangle(constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)130irr.video.CTRTextureDetailMap2.drawTriangle (constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)
drawTriangle(constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)130irr.video.CTRGTextureLightMap2_M4.drawTriangle (constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)
jpeg_fdct_13x13(DCTELEM*,JSAMPARRAY,JDIMENSION)129__Globals.jpeg_fdct_13x13(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_fdct_15x15(DCTELEM*,JSAMPARRAY,JDIMENSION)129__Globals.jpeg_fdct_15x15(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_7x14(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)129__Globals.jpeg_idct_7x14(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_push_process_row(png_structp)129__Globals.png_push_process_row(png_structp)

Statistics

Stat   # lines of code (LOC)
Sum:66 189
Average:79.08
Minimum:31
Maximum:1 563
Standard deviation:82.41
Variance:6 791
warningCritical    Rule warning: Methods too complex
// <Name>Methods too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.CyclomaticComplexity > 20 ||
  
m.MaxNestedLoop > 3 ||
  
m.NestingDepth > 5
  
orderby m.CyclomaticComplexity descending,
          
m.MaxNestedLoop descending,
          
m.NestingDepth descending
select new { m, m.CyclomaticComplexity, 
                
m.MaxNestedLoop,
                
m.NestingDepth  }

// Methods where CyclomaticComplexity > 20 
// or MaxNestedLoop > 40
// or NestingDepth > 4
// are hard to understand and maintain
// and should be split in smaller methods.
// See the definition of the complexity metrics here:
// http://www.cppdepend.com/Metrics.aspx#CC
// http://www.cppdepend.com/Metrics.aspx#ILCC
// http://www.cppdepend.com/Metrics.aspx#ILNestingDepth

287 methods matched

methodsCyclomatic Complexity (CC)MaxNestedLoopNestingDepthFull Name
aes_encrypt(constvoid*,void*,constaes_encrypt_ctx*)3 36602__Globals.aes_encrypt(constvoid*,void*,constaes_encrypt_ctx*)
aes_decrypt(constvoid*,void*,constaes_decrypt_ctx*)3 36602__Globals.aes_decrypt(constvoid*,void*,constaes_decrypt_ctx*)
png_combine_row(png_structp,png_bytep,int)97118__Globals.png_combine_row(png_structp,png_bytep,int)
BZ2_decompress(DState*)41087__Globals.BZ2_decompress(DState*)
inflate(z_streamp,int)165710__Globals.inflate(z_streamp,int)
readMat(u32)14615irr.scene.CLWOMeshFileLoader.readMat(u32)
LocaleIdToCodepage(unsignedint)13602__Globals.LocaleIdToCodepage(unsignedint)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)109125irr.video.COpenGLDriver.setBasicRenderStates (constirr::video::SMaterial&,constirr::video::SMaterial&,bool)
processKey(constirr::SEvent&)10707irr.gui.CGUIEditBox.processKey(constirr::SEvent&)
png_write_find_filter(png_structp,png_row_infop)8915__Globals.png_write_find_filter(png_structp,png_row_infop)
png_do_compose(png_row_infop,png_bytep,png_structp)88212__Globals.png_do_compose(png_row_infop,png_bytep,png_structp)
readPolygonSection(io::IXMLReaderUTF8*,core::array<SSource>& ,scene::SMesh*,constcore::stringc&)7648irr.scene.CColladaFileLoader.readPolygonSection(io::IXMLReaderUTF8* ,core::array<SSource>&,scene::SMesh*,constcore::stringc&)
setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)76110irr.video.CD3D9Driver.setBasicRenderStates(constirr::video::SMaterial& ,constirr::video::SMaterial&,bool)
parseDataObjectMesh(irr::scene::CXMeshFileLoader::SXMesh&)6926irr.scene.CXMeshFileLoader.parseDataObjectMesh (irr::scene::CXMeshFileLoader::SXMesh&)
read_markers(j_decompress_ptr)6914__Globals.read_markers(j_decompress_ptr)
sendMTFValues(EState*)65910__Globals.sendMTFValues(EState*)
readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)6427irr.scene.COgreMeshFileLoader.readPass(io::IReadFile* ,irr::scene::COgreMeshFileLoader::OgreTechnique&)
deflate(z_streamp,int)62132__Globals.deflate(z_streamp,int)
png_push_read_chunk(png_structp,png_infop)6105__Globals.png_push_read_chunk(png_structp,png_infop)
load(io::IReadFile*)6036irr.scene.CMS3DMeshFileLoader.load(io::IReadFile*)
animate(u32,core::matrix4&)6017irr.scene.CQuake3ShaderSceneNode.animate(u32,core::matrix4&)
createMesh(io::IReadFile*)5625irr.scene.CMY3DMeshFileLoader.createMesh(io::IReadFile*)
png_set_quantize(png_structp,png_colorp,int,int,png_const_uint_16p,int )54411__Globals.png_set_quantize(png_structp,png_colorp,int,int ,png_const_uint_16p,int)
start_pass_huff_decoder(j_decompress_ptr)5226__Globals.start_pass_huff_decoder(j_decompress_ptr)
start_pass_fdctmgr(j_compress_ptr)5135__Globals.start_pass_fdctmgr(j_compress_ptr)
start_pass(j_decompress_ptr)5135__Globals.start_pass(j_decompress_ptr)
png_init_read_transformations(png_structp)5119__Globals.png_init_read_transformations(png_structp)
initDriver(irr::CIrrDeviceWin32*)5115irr.video.COpenGLDriver.initDriver(irr::CIrrDeviceWin32*)
unRLE_obuf_to_output_FAST(DState*)5034__Globals.unRLE_obuf_to_output_FAST(DState*)
getWindowsVersion(core::stringc&)5005irr.CIrrDeviceWin32.getWindowsVersion(core::stringc&)
createMesh(io::IReadFile*)4937irr.scene.CLWOMeshFileLoader.createMesh(io::IReadFile*)
OnEvent(constirr::SEvent&)4918irr.gui.CGUIListBox.OnEvent(constirr::SEvent&)
png_read_row(png_structp,png_bytep,png_bytep)4915__Globals.png_read_row(png_structp,png_bytep,png_bytep)
createForsythOptimizedMesh(constscene::IMesh*)4849irr.scene.CMeshManipulator.createForsythOptimizedMesh (constscene::IMesh*)
createMesh(io::IReadFile*)4638irr.scene.CDMFLoader.createMesh(io::IReadFile*)
unRLE_obuf_to_output_SMALL(DState*)4532__Globals.unRLE_obuf_to_output_SMALL(DState*)
initDriver(HWND,bool)4516irr.video.CD3D9Driver.initDriver(HWND,bool)
finalize()4436irr.scene.CSkinnedMesh.finalize()
WndProc(HWND,UINT,WPARAM,LPARAM)4316__Globals.WndProc(HWND,UINT,WPARAM,LPARAM)
setRenderTarget(constcore::array<video::IRenderTarget>&,bool,bool ,irr::video::SColor)4316irr.video.COpenGLDriver.setRenderTarget(constcore::array <video::IRenderTarget>&,bool,bool,irr::video::SColor)
readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)4315irr.scene.C3DSMeshFileLoader.readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)
readEffect(io::IXMLReaderUTF8*,irr::scene::SColladaEffect*)4239irr.scene.CColladaFileLoader.readEffect(io::IXMLReaderUTF8* ,irr::scene::SColladaEffect*)
decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)42212__Globals.decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)
decode_mcu(j_decompress_ptr,JBLOCKROW*)42211__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
OnEvent(constirr::SEvent&)4208irr.gui.CGUIScrollBar.OnEvent(constirr::SEvent&)
update_box(j_decompress_ptr,boxptr)4133__Globals.update_box(j_decompress_ptr,boxptr)
writeMeshGeometry(constirr::core::stringw&,scene::IMesh*)4127irr.scene.CColladaMeshWriter.writeMeshGeometry (constirr::core::stringw&,scene::IMesh*)
png_check_fp_number(png_const_charp,png_size_t,int*,png_size_tp)4113__Globals.png_check_fp_number(png_const_charp,png_size_t,int* ,png_size_tp)
readTextures(constc8*,constc8*const ,irr::scene::COBJMeshFileLoader::SObjMtl*,constio::path&)4113irr.scene.COBJMeshFileLoader.readTextures(constc8*,constc8*const ,irr::scene::COBJMeshFileLoader::SObjMtl*,constio::path&)
OnEvent(constirr::SEvent&)4006irr.gui.CGUIComboBox.OnEvent(constirr::SEvent&)
png_push_process_row(png_structp)3916__Globals.png_push_process_row(png_structp)
VertexCache_fill(constu32,constu32)3915irr.video.CBurningVideoDriver.VertexCache_fill(constu32,constu32)
decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)38310__Globals.decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)
createTree(irr::scene::IMesh*)3828irr.scene.COctreeSceneNode.createTree(irr::scene::IMesh*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3747irr.video.CTRTextureGouraudAdd.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
draw()3727irr.gui.CGUIEditBox.draw()
render()3717irr.scene.COctreeSceneNode.render()
getNextToken()3715irr.scene.CXMeshFileLoader.getNextToken()
png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int,int,int,int )3703__Globals.png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int ,int,int,int)
render()3626irr.scene.CAnimatedMeshSceneNode.render()
drawAll()3614irr.scene.CSceneManager.drawAll()
setCurrentShader()3603irr.video.CBurningVideoDriver.setCurrentShader()
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)3554__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
load(io::IReadFile*)3537irr.scene.CXMeshFileLoader.load(io::IReadFile*)
loadHeightMapRAW(io::IReadFile*,s32,bool,bool,s32,video::SColor,s32)3526irr.scene.CTerrainSceneNode.loadHeightMapRAW(io::IReadFile*,s32,bool ,bool,s32,video::SColor,s32)
getFrameData(f32,irr::scene::ISkinnedMesh::SJoint*,core::vector3df& ,s32&,core::vector3df&,s32&,core::quaternion&,s32&)3516irr.scene.CSkinnedMesh.getFrameData(f32 ,irr::scene::ISkinnedMesh::SJoint*,core::vector3df&,s32& ,core::vector3df&,s32&,core::quaternion&,s32&)
createAndOpenFile(u32)3515irr.io.CZipReader.createAndOpenFile(u32)
png_do_read_transformations(png_structp,png_row_infop)3505__Globals.png_do_read_transformations(png_structp,png_row_infop)
fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)34127__Globals.fallbackSort(UInt32*,UInt32*,UInt32*,Int32,Int32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3447irr.video.CTRTextureGouraud.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3447irr.video.CTRFlat.drawIndexedTriangleList(irr::video::S2DVertex*,s32 ,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3447irr.video.CTRGouraud.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3447irr.video.CTRTextureFlat.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
get_dqt(j_decompress_ptr)3425__Globals.get_dqt(j_decompress_ptr)
png_ascii_from_fp(png_structp,png_charp,png_size_t,double,unsignedint)34110__Globals.png_ascii_from_fp(png_structp,png_charp,png_size_t,double ,unsignedint)
png_read_info(png_structp,png_infop)3414__Globals.png_read_info(png_structp,png_infop)
createScreenShot(video::ECOLOR_FORMAT,video::E_RENDER_TARGET)3414irr.video.COpenGLDriver.createScreenShot(video::ECOLOR_FORMAT ,video::E_RENDER_TARGET)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3346irr.video.CTRTextureGouraudNoZ.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)3323__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
readMTL(constc8*,constio::path&)3316irr.scene.COBJMeshFileLoader.readMTL(constc8*,constio::path&)
setFlag(irr::video::E_MATERIAL_FLAG,bool)3314irr.video.SMaterial.setFlag(irr::video::E_MATERIAL_FLAG,bool)
jinit_color_converter(j_compress_ptr)3203__Globals.jinit_color_converter(j_compress_ptr)
queryFeature(irr::video::E_VIDEO_DRIVER_FEATURE)3202irr.video.COpenGLExtensionHandler.queryFeature (irr::video::E_VIDEO_DRIVER_FEATURE)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3136irr.video.CTRFlatWire.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3136irr.video.CTRGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3136irr.video.CTRTextureFlatWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)3136irr.video.CTRTextureGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
createMesh(io::IReadFile*)3128irr.scene.CPLYMeshFileLoader.createMesh(io::IReadFile*)
createMesh(io::IReadFile*)3126irr.scene.COBJMeshFileLoader.createMesh(io::IReadFile*)
readChunks()3126irr.scene.CLWOMeshFileLoader.readChunks()
drawTriangle(constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)3124irr.video.CBurningShader_Raster_Reference.drawTriangle (constirr::video::s4DVertex*,constirr::video::s4DVertex* ,constirr::video::s4DVertex*)
inflate_fast(z_streamp,unsignedint)31114__Globals.inflate_fast(z_streamp,unsignedint)
draw2DImageBatch(constvideo::ITexture*,constcore::array<core::vector2d <s32>>&,constcore::array<core::rect<s32>>&,constcore::rect<s32>* ,irr::video::SColor,bool)3114irr.video.COpenGLDriver.draw2DImageBatch(constvideo::ITexture* ,constcore::array<core::vector2d<s32>>&,constcore::array<core::rect <s32>>&,constcore::rect<s32>*,irr::video::SColor,bool)
png_read_start_row(png_structp)3104__Globals.png_read_start_row(png_structp)
mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)3102__Globals.mainGtU(UInt32,UInt32,UChar*,UInt16*,UInt32,Int32*)
validate_script(j_compress_ptr)30613__Globals.validate_script(j_compress_ptr)
buildMesh(s32)3047irr.scene.CQ3LevelMesh.buildMesh(s32)
png_do_expand(png_row_infop,png_bytep,png_const_color_16p)3018__Globals.png_do_expand(png_row_infop,png_bytep,png_const_color_16p)
draw2DImageBatch(constvideo::ITexture*,constcore::array<core::vector2d <s32>>&,constcore::array<core::rect<s32>>&,constcore::rect<s32>* ,irr::video::SColor,bool)3014irr.video.CD3D9Driver.draw2DImageBatch(constvideo::ITexture* ,constcore::array<core::vector2d<s32>>&,constcore::array<core::rect <s32>>&,constcore::rect<s32>*,irr::video::SColor,bool)
OnEvent(constirr::SEvent&)3007irr.gui.CGUIFileOpenDialog.OnEvent(constirr::SEvent&)

Statistics

Stat   Cyclomatic Complexity (CC)   MaxNestedLoop   NestingDepth
Sum:16 0054951 780
Average:55.771.726.2
Minimum:301
Maximum:3 3661232
Standard deviation:284.421.73.1
Variance:80 8962.899.62
warningCritical    Rule warning: Methods potentially poorly commented
// <Name>Methods potentially poorly commented</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.PercentageComment < 20 && 
  
m.NbLinesOfCode > 20  
  
orderby m.PercentageComment ascending
select new { m, m.PercentageComment, m.NbLinesOfCode, m.NbLinesOfComment }

// Methods where %Comment < 20 and that have 
// at least 20 lines of code might need to be more commented.
// See the definition of the Comments metric here 
// http://www.cppdepend.com/Metrics.aspx#PercentageComment
// http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment 

701 methods matched

methodsPercentage Comment# lines of code (LOC)# lines of commentFull Name
png_get_cHRM(png_const_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*)0370__Globals.png_get_cHRM(png_const_structp,png_const_infop,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*,double*)0410__Globals.png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_pHYs(png_const_structp,png_const_infop,png_uint_32* ,png_uint_32*,int*)0210__Globals.png_get_pHYs(png_const_structp,png_const_infop,png_uint_32* ,png_uint_32*,int*)
png_get_pHYs_dpi(png_const_structp,png_const_infop,png_uint_32* ,png_uint_32*,int*)0250__Globals.png_get_pHYs_dpi(png_const_structp,png_const_infop ,png_uint_32*,png_uint_32*,int*)
png_push_fill_buffer(png_structp,png_bytep,png_size_t)0270__Globals.png_push_fill_buffer(png_structp,png_bytep,png_size_t)
aes_encrypt_key256(constvoid*,aes_encrypt_ctx*)0490__Globals.aes_encrypt_key256(constvoid*,aes_encrypt_ctx*)
aes_decrypt_key256(constvoid*,aes_decrypt_ctx*)0770__Globals.aes_decrypt_key256(constvoid*,aes_decrypt_ctx*)
mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)0870__Globals.mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32 ,Int32*)
operator=(constirr::SIrrlichtCreationParameters&)0220irr.SIrrlichtCreationParameters.operator= (constirr::SIrrlichtCreationParameters&)
getWindowsVersion(core::stringc&)01271irr.CIrrDeviceWin32.getWindowsVersion(core::stringc&)
initCursors()0260irr.CIrrDeviceWin32+CCursorControl.initCursors()
apply_<Functor>(constFunctor&,irr::scene::IMeshBuffer*,bool ,constirr::scene::IVertexManipulator&)0250irr.scene.IMeshManipulator.apply_<Functor>(constFunctor& ,irr::scene::IMeshBuffer*,bool,constirr::scene::IVertexManipulator&)
parseDataObjectMeshVertexColors(irr::scene::CXMeshFileLoader::SXMesh&)0230irr.scene.CXMeshFileLoader.parseDataObjectMeshVertexColors (irr::scene::CXMeshFileLoader::SXMesh&)
readSubMesh(io::IReadFile*,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreSubMesh&)0680irr.scene.COgreMeshFileLoader.readSubMesh(io::IReadFile* ,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreSubMesh&)
readDiscVertexMapping(u32)0350irr.scene.CLWOMeshFileLoader.readDiscVertexMapping(u32)
readVertex(constirr::scene::CPLYMeshFileLoader::SPLYElement& ,scene::CDynamicMeshBuffer*)0470irr.scene.CPLYMeshFileLoader.readVertex (constirr::scene::CPLYMeshFileLoader::SPLYElement& ,scene::CDynamicMeshBuffer*)
writeNodeLights(irr::scene::ISceneNode*)0880irr.scene.CColladaMeshWriter.writeNodeLights(irr::scene::ISceneNode*)
generateMesh()0420irr.scene.CSkyDomeSceneNode.generateMesh()
load(irr::scene::BinaryFileReader*)0210irr.scene.Surface.load(irr::scene::BinaryFileReader*)
tLWOMaterial()0280irr.scene.CLWOMeshFileLoader+tLWOMaterial.tLWOMaterial()
getTriangle()0220irr.io.CNumbersAttribute.getTriangle()
setBoundingBox(core::aabbox3d<f32>)0270irr.io.CNumbersAttribute.setBoundingBox(core::aabbox3d<f32>)
setTriangle3d(core::triangle3df)0390irr.io.CNumbersAttribute.setTriangle3d(core::triangle3df)
buildDirectory()0230irr.io.CMountPointReader.buildDirectory()
recalculateScrollButtonPlacement()0220irr.gui.CGUITabControl.recalculateScrollButtonPlacement()
breakText(constcore::stringw&,core::stringw&,u32)0300irr.gui.CGUITable.breakText(constcore::stringw&,core::stringw&,u32)
convert_viaFormat(constvoid*,irr::video::ECOLOR_FORMAT,s32,void* ,irr::video::ECOLOR_FORMAT)0640irr.video.CColorConverter.convert_viaFormat(constvoid* ,irr::video::ECOLOR_FORMAT,s32,void*,irr::video::ECOLOR_FORMAT)
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)0220irr.video.COpenGLMaterialRenderer_SOLID_2_LAYER.OnSetMaterial (constirr::video::SMaterial&,constirr::video::SMaterial&,bool ,irr::video::IMaterialRendererServices*)
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)0230irr.video.COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL .OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)0210irr.video.COpenGLMaterialRenderer_REFLECTION_2_LAYER.OnSetMaterial (constirr::video::SMaterial&,constirr::video::SMaterial&,bool ,irr::video::IMaterialRendererServices*)
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)0340irr.video.COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER .OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)
setPixelShaderConstant(constc8*,constf32*,int)0490irr.video.COpenGLSLMaterialRenderer.setPixelShaderConstant(constc8* ,constf32*,int)
setPixelShaderConstant(constc8*,constbool*,int)0310irr.video.COpenGLSLMaterialRenderer.setPixelShaderConstant(constc8* ,constbool*,int)
setPixelShaderConstant(constc8*,consts32*,int)0390irr.video.COpenGLSLMaterialRenderer.setPixelShaderConstant(constc8* ,consts32*,int)
allocateTemps()0260irr.video._RGBdata.allocateTemps()
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)0270irr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND.OnSetMaterial (constirr::video::SMaterial&,constirr::video::SMaterial&,bool ,irr::video::IMaterialRendererServices*)
getD3DBlend(irr::video::E_BLEND_FACTOR)0370irr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND.getD3DBlend (irr::video::E_BLEND_FACTOR)
LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)11583__Globals.LzmaDec_TryDummy(constCLzmaDec*,constByte*,SizeT)
aes_encrypt(constvoid*,void*,constaes_encrypt_ctx*)1731__Globals.aes_encrypt(constvoid*,void*,constaes_encrypt_ctx*)
aes_decrypt(constvoid*,void*,constaes_decrypt_ctx*)1741__Globals.aes_decrypt(constvoid*,void*,constaes_decrypt_ctx*)
sha512_compile(sha512_ctx*)1521__Globals.sha512_compile(sha512_ctx*)
add_pair_to_block(EState*)1541__Globals.add_pair_to_block(EState*)
loadMaterials(io::IReadFile*)1651irr.scene.C3DSMeshFileLoader.loadMaterials(io::IReadFile*)
createIrrlichtMesh(constirr::scene::CSMFile*,constcore::stringc& ,constio::path&)1641irr.scene.CCSMLoader.createIrrlichtMesh(constirr::scene::CSMFile* ,constcore::stringc&,constio::path&)
readMat(u32)16459irr.scene.CLWOMeshFileLoader.readMat(u32)
refreshControls()1541irr.gui.CGUIScrollBar.refreshControls()
OnEvent(constirr::SEvent&)1551irr.gui.CGUISpinBox.OnEvent(constirr::SEvent&)
apply(irr::video::SMaterial&)1671irr.video.SOverrideMaterial.apply(irr::video::SMaterial&)
get_dri(j_decompress_ptr)2421__Globals.get_dri(j_decompress_ptr)
png_push_read_tEXt(png_structp,png_infop)2411__Globals.png_push_read_tEXt(png_structp,png_infop)
png_do_expand(png_row_infop,png_bytep,png_const_color_16p)21534__Globals.png_do_expand(png_row_infop,png_bytep,png_const_color_16p)
png_handle_hIST(png_structp,png_infop,png_uint_32)2351__Globals.png_handle_hIST(png_structp,png_infop,png_uint_32)
png_handle_tEXt(png_structp,png_infop,png_uint_32)2682__Globals.png_handle_tEXt(png_structp,png_infop,png_uint_32)
png_set_unknown_chunks(png_structp,png_infop,png_const_unknown_chunkp ,int)2381__Globals.png_set_unknown_chunks(png_structp,png_infop ,png_const_unknown_chunkp,int)
aes_decrypt_key192(constvoid*,aes_decrypt_ctx*)2762__Globals.aes_decrypt_key192(constvoid*,aes_decrypt_ctx*)
BZ2_bzCompressInit(bz_stream*,int,int,int)2662__Globals.BZ2_bzCompressInit(bz_stream*,int,int,int)
BZ2_decompress(DState*)21 56337__Globals.BZ2_decompress(DState*)
getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)2471irr.__Globals.getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)
directInputAddJoystick(LPCDIDEVICEINSTANCE)2401irr.SJoystickWin32Control.directInputAddJoystick(LPCDIDEVICEINSTANCE)
dumpModelInfo(u32)2792irr.scene.CAnimatedMeshHalfLife.dumpModelInfo(u32)
readChunk(io::IReadFile*,irr::scene::C3DSMeshFileLoader::ChunkData*)2431irr.scene.C3DSMeshFileLoader.readChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)
readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)22095irr.scene.C3DSMeshFileLoader.readMaterialChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)
readGeometry(io::IReadFile* ,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreGeometry&)2351irr.scene.COgreMeshFileLoader.readGeometry(io::IReadFile* ,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreGeometry&)
readChunkMESH(CSkinnedMesh::SJoint*)2391irr.scene.CB3DMeshFileLoader.readChunkMESH(CSkinnedMesh::SJoint*)
readVertexMapping(u32)2331irr.scene.CLWOMeshFileLoader.readVertexMapping(u32)
writeMeshGeometry(constirr::core::stringw&,scene::IMesh*)272821irr.scene.CColladaMeshWriter.writeMeshGeometry (constirr::core::stringw&,scene::IMesh*)
readAttributeFromXML(io::IXMLReader*)2732irr.io.CAttributes.readAttributeFromXML(io::IXMLReader*)
OnEvent(constirr::SEvent&)2722irr.gui.CGUIButton.OnEvent(constirr::SEvent&)
processMouse(constirr::SEvent&)2411irr.gui.CGUIEditBox.processMouse(constirr::SEvent&)
OnEvent(constirr::SEvent&)21675irr.gui.CGUIScrollBar.OnEvent(constirr::SEvent&)
recalculateItemHeight()2351irr.gui.CGUITreeView.recalculateItemHeight()
COpenGLExtensionHandler()21494irr.video.COpenGLExtensionHandler.COpenGLExtensionHandler()
getGLBlend(irr::video::E_BLEND_FACTOR)2371irr.video.COpenGLDriver.getGLBlend(irr::video::E_BLEND_FACTOR)
OnSetMaterial(constirr::video::SMaterial&,constirr::video::SMaterial& ,bool,irr::video::IMaterialRendererServices*)2692irr.video.COpenGLMaterialRenderer_LIGHTMAP.OnSetMaterial (constirr::video::SMaterial&,constirr::video::SMaterial&,bool ,irr::video::IMaterialRendererServices*)
decompress4BitRLE(u8*&,s32,s32,s32,s32)21023irr.video.CImageLoaderBMP.decompress4BitRLE(u8*&,s32,s32,s32,s32)
writeImage(io::IWriteFile*,irr::video::IImage*,u32)2401irr.video.CImageWriterPPM.writeImage(io::IWriteFile* ,irr::video::IImage*,u32)
crc32_big(unsignedlong,constunsignedchar*,unsignedint)3251__Globals.crc32_big(unsignedlong,constunsignedchar*,unsignedint)
inflateInit2_(z_streamp,int,constchar*,int)3311__Globals.inflateInit2_(z_streamp,int,constchar*,int)
get_sof(j_decompress_ptr,boolean,boolean,boolean)31235__Globals.get_sof(j_decompress_ptr,boolean,boolean,boolean)
get_dqt(j_decompress_ptr)31214__Globals.get_dqt(j_decompress_ptr)
png_get_cHRM_fixed(png_const_structp,png_const_infop,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*)3291__Globals.png_get_cHRM_fixed(png_const_structp,png_const_infop ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point*)
png_get_tRNS(png_const_structp,png_infop,png_bytep*,int* ,png_color_16p*)3301__Globals.png_get_tRNS(png_const_structp,png_infop,png_bytep*,int* ,png_color_16p*)
png_push_save_buffer(png_structp)3301__Globals.png_push_save_buffer(png_structp)
png_do_compose(png_row_infop,png_bytep,png_structp)338214__Globals.png_do_compose(png_row_infop,png_bytep,png_structp)
png_do_expand_palette(png_row_infop,png_bytep,png_const_colorp ,png_const_bytep,int)31024__Globals.png_do_expand_palette(png_row_infop,png_bytep ,png_const_colorp,png_const_bytep,int)
png_handle_oFFs(png_structp,png_infop,png_uint_32)3301__Globals.png_handle_oFFs(png_structp,png_infop,png_uint_32)
png_handle_pHYs(png_structp,png_infop,png_uint_32)3301__Globals.png_handle_pHYs(png_structp,png_infop,png_uint_32)
png_handle_tIME(png_structp,png_infop,png_uint_32)3301__Globals.png_handle_tIME(png_structp,png_infop,png_uint_32)
png_handle_tRNS(png_structp,png_infop,png_uint_32)3642__Globals.png_handle_tRNS(png_structp,png_infop,png_uint_32)
aes_decrypt_key128(constvoid*,aes_decrypt_ctx*)3642__Globals.aes_decrypt_key128(constvoid*,aes_decrypt_ctx*)
sha2_begin(unsignedlong,sha2_ctx*)3321__Globals.sha2_begin(unsignedlong,sha2_ctx*)
BZ2_bzCompress(bz_stream*,int)3642__Globals.BZ2_bzCompress(bz_stream*,int)
BZ2_bzDecompress(bz_stream*)3532__Globals.BZ2_bzDecompress(bz_stream*)
handle_compress(bz_stream*)3321__Globals.handle_compress(bz_stream*)
getSample_texture(tFixPoint&,tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)3271irr.__Globals.getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,tFixPoint&,constirr::sInternalTexture*,consttFixPointu ,consttFixPointu)
QuaternionSlerp(constf32*,f32*,f32,f32*)3311irr.scene.__Globals.QuaternionSlerp(constf32*,f32*,f32,f32*)
recalculateBoundingBox()3281irr.scene.SSkinMeshBuffer.recalculateBoundingBox()
readFrameChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)31074irr.scene.C3DSMeshFileLoader.readFrameChunk(io::IReadFile* ,irr::scene::C3DSMeshFileLoader::ChunkData*)
readObjectChunk(io::IReadFile* ,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreMesh&)3632irr.scene.COgreMeshFileLoader.readObjectChunk(io::IReadFile* ,irr::scene::COgreMeshFileLoader::ChunkData& ,irr::scene::COgreMeshFileLoader::OgreMesh&)
readChunkNODE(CSkinnedMesh::SJoint*)3512irr.scene.CB3DMeshFileLoader.readChunkNODE(CSkinnedMesh::SJoint*)

Statistics

Stat   Percentage Comment   # lines of code (LOC)   # lines of comment
Sum:6 67048 8645 531
Average:9.5169.717.89
Minimum:0210
Maximum:191 563151
Standard deviation:5.4489.210.09
Variance:29.67 956101.88
warningCritical    Rule warning: Methods with too many parameters
// <Name>Methods with too many parameters</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbParameters > 5 
  
orderby m.NbParameters descending
select new { m, m.NbParameters }

// Methods where NbParameters > 5 might be painful to call 
// and might degrade performance. You should prefer using 
// additional properties/fields to the declaring type to 
// handle numerous states. Another alternative is to provide 
// a class or structure dedicated to handle arguments passing 
// (for example see the class System.Diagnostics.ProcessStartInfo 
// and the method System.Diagnostics.Process.Start(ProcessStartInfo))
// See the definition of the NbParameters metric here 
// http://www.cppdepend.com/Metrics.aspx#NbParameters

330 methods matched

methods# ParametersFull Name
COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*,s32&,constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)17irr.video.COpenGLSLMaterialRenderer.COpenGLSLMaterialRenderer (irr::video::COpenGLDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CNullDriver.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_GEOMETRY_SHADER_TYPE ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.COpenGLDriver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)16irr.video.CD3D9Driver.addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32,irr::video::E_GPU_SHADING_LANGUAGE)
createAnimatedMeshSceneNodeEmitter(scene::IAnimatedMeshSceneNode*,bool ,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createCylinderEmitter(constcore::vector3df&,f32,constcore::vector3df& ,f32,bool,constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
createMeshEmitter(scene::IMesh*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.IParticleSystemSceneNode.createMeshEmitter(scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
createAnimatedMeshSceneNodeEmitter(scene::IAnimatedMeshSceneNode*,bool ,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createAnimatedMeshSceneNodeEmitter (scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createCylinderEmitter(constcore::vector3df&,f32,constcore::vector3df& ,f32,bool,constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
createMeshEmitter(scene::IMesh*,bool,constcore::vector3df&,f32,s32 ,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleSystemSceneNode.createMeshEmitter(scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleAnimatedMeshSceneNodeEmitter .CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleCylinderEmitter(constcore::vector3df&,f32 ,constcore::vector3df&,f32,bool,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleCylinderEmitter.CParticleCylinderEmitter (constcore::vector3df&,f32,constcore::vector3df&,f32,bool ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
CParticleMeshEmitter(irr::scene::IMesh*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)15irr.scene.CParticleMeshEmitter.CParticleMeshEmitter(irr::scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
S3DVertexTangents(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32 ,f32,f32,f32,f32,f32,f32)15irr.video.S3DVertexTangents.S3DVertexTangents(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32,f32,f32,f32,f32,f32,f32)
createRingEmitter(constcore::vector3df&,f32,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.IParticleSystemSceneNode.createRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createRingEmitter(constcore::vector3df&,f32,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.CParticleSystemSceneNode.createRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleRingEmitter(constcore::vector3df&,f32,f32 ,constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)13irr.scene.CParticleRingEmitter.CParticleRingEmitter (constcore::vector3df&,f32,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)12__Globals.CD3D9HLSLMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
createSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.IParticleSystemSceneNode.createSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
createSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.CParticleSystemSceneNode.createSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleSphereEmitter(constcore::vector3df&,f32,constcore::vector3df& ,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)12irr.scene.CParticleSphereEmitter.CParticleSphereEmitter (constcore::vector3df&,f32,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
writeElement(constwchar_t*,bool,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*)12irr.io.IXMLWriter.writeElement(constwchar_t*,bool,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*)
writeElement(constwchar_t*,bool,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*)12irr.io.CXMLWriter.writeElement(constwchar_t*,bool,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t* ,constwchar_t*,constwchar_t*,constwchar_t*,constwchar_t*)
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)12irr.video.CD3D9HLSLMaterialRenderer.CD3D9HLSLMaterialRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*,double*)11__Globals.png_get_cHRM_XYZ(png_structp,png_const_infop,double*,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_cHRM_XYZ_fixed(png_structp,png_const_infop,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point*)11__Globals.png_get_cHRM_XYZ_fixed(png_structp,png_const_infop ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*)
png_set_cHRM_XYZ(png_structp,png_infop,double,double,double,double ,double,double,double,double,double)11__Globals.png_set_cHRM_XYZ(png_structp,png_infop,double,double,double ,double,double,double,double,double,double)
png_set_cHRM_XYZ_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point)11__Globals.png_set_cHRM_XYZ_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point)
addTerrainSceneNode(constio::path&,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.ISceneManager.addTerrainSceneNode(constio::path& ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
addTerrainSceneNode(io::IReadFile*,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.ISceneManager.addTerrainSceneNode(io::IReadFile* ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
createBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)11irr.scene.IParticleSystemSceneNode.createBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
addTerrainSceneNode(constio::path&,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.CSceneManager.addTerrainSceneNode(constio::path& ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
addTerrainSceneNode(io::IReadFile*,irr::scene::ISceneNode*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,video::SColor,s32,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)11irr.scene.CSceneManager.addTerrainSceneNode(io::IReadFile* ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,video::SColor,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,s32,bool)
createBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)11irr.scene.CParticleSystemSceneNode.createBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32 ,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleBoxEmitter(constcore::aabbox3df&,constcore::vector3df&,u32 ,u32,video::SColor,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)11irr.scene.CParticleBoxEmitter.CParticleBoxEmitter (constcore::aabbox3df&,constcore::vector3df&,u32,u32,video::SColor ,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
S3DVertex2TCoords(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32 ,f32,f32)11irr.video.S3DVertex2TCoords.S3DVertex2TCoords(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32,f32,f32)
png_get_cHRM(png_const_structp,png_const_infop,double*,double*,double* ,double*,double*,double*,double*,double*)10__Globals.png_get_cHRM(png_const_structp,png_const_infop,double* ,double*,double*,double*,double*,double*,double*,double*)
png_get_cHRM_fixed(png_const_structp,png_const_infop,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*)10__Globals.png_get_cHRM_fixed(png_const_structp,png_const_infop ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point* ,png_fixed_point*,png_fixed_point*,png_fixed_point*,png_fixed_point*)
png_set_cHRM(png_structp,png_infop,double,double,double,double,double ,double,double,double)10__Globals.png_set_cHRM(png_structp,png_infop,double,double,double ,double,double,double,double,double)
png_set_cHRM_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)10__Globals.png_set_cHRM_fixed(png_structp,png_infop,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
addCameraSceneNodeFPS(irr::scene::ISceneNode*,f32,f32,s32 ,irr::SKeyMap*,s32,bool,f32,bool,bool)10irr.scene.ISceneManager.addCameraSceneNodeFPS(irr::scene::ISceneNode* ,f32,f32,s32,irr::SKeyMap*,s32,bool,f32,bool,bool)
createPointEmitter(constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.IParticleSystemSceneNode.createPointEmitter (constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
addCameraSceneNodeFPS(irr::scene::ISceneNode*,f32,f32,s32 ,irr::SKeyMap*,s32,bool,f32,bool,bool)10irr.scene.CSceneManager.addCameraSceneNodeFPS(irr::scene::ISceneNode* ,f32,f32,s32,irr::SKeyMap*,s32,bool,f32,bool,bool)
createPointEmitter(constcore::vector3df&,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.CParticleSystemSceneNode.createPointEmitter (constcore::vector3df&,u32,u32,constvideo::SColor&,constvideo::SColor& ,u32,u32,s32,constcore::dimension2df&,constcore::dimension2df&)
CWaterSurfaceSceneNode(f32,f32,f32,irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)10irr.scene.CWaterSurfaceSceneNode.CWaterSurfaceSceneNode(f32,f32,f32 ,irr::scene::IMesh*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& )
getCollisionResultPosition(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*& ,f32,constcore::vector3df&)10irr.scene.ISceneCollisionManager.getCollisionResultPosition (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,core::triangle3df& ,core::vector3df&,bool&,irr::scene::ISceneNode*&,f32 ,constcore::vector3df&)
CVolumeLightSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)10irr.scene.CVolumeLightSceneNode.CVolumeLightSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,constu32 ,constu32,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
getCollisionResultPosition(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*& ,f32,constcore::vector3df&)10irr.scene.CSceneCollisionManager.getCollisionResultPosition (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,core::triangle3df& ,core::vector3df&,bool&,irr::scene::ISceneNode*&,f32 ,constcore::vector3df&)
collideEllipsoidWithWorld(irr::scene::ITriangleSelector* ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&,f32 ,constcore::vector3df&,core::triangle3df&,core::vector3df&,bool& ,irr::scene::ISceneNode*&)10irr.scene.CSceneCollisionManager.collideEllipsoidWithWorld (irr::scene::ITriangleSelector*,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&,f32,constcore::vector3df& ,core::triangle3df&,core::vector3df&,bool&,irr::scene::ISceneNode*&)
CParticlePointEmitter(constcore::vector3df&,u32,u32,video::SColor ,video::SColor,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)10irr.scene.CParticlePointEmitter.CParticlePointEmitter (constcore::vector3df&,u32,u32,video::SColor,video::SColor,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
addHighLevelShaderMaterial(constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(constio::path&,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constio::path&,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,constio::path&,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
addHighLevelShaderMaterialFromFiles(io::IReadFile*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,io::IReadFile*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)10irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (io::IReadFile*,constc8*,irr::video::E_VERTEX_SHADER_TYPE ,io::IReadFile*,constc8*,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32,irr::video::E_GPU_SHADING_LANGUAGE)
LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte*,unsignedint ,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)9__Globals.LzmaDecode(Byte*,SizeT*,constByte*,SizeT*,constByte* ,unsignedint,ELzmaFinishMode,ELzmaStatus*,ISzAlloc*)
png_check_cHRM_fixed(png_structp,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point)9__Globals.png_check_cHRM_fixed(png_structp,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
png_get_IHDR(png_structp,png_infop,png_uint_32*,png_uint_32*,int*,int* ,int*,int*,int*)9__Globals.png_get_IHDR(png_structp,png_infop,png_uint_32*,png_uint_32* ,int*,int*,int*,int*,int*)
png_get_pCAL(png_const_structp,png_const_infop,png_charp*,png_int_32* ,png_int_32*,int*,int*,png_charp*,png_charpp*)9__Globals.png_get_pCAL(png_const_structp,png_const_infop,png_charp* ,png_int_32*,png_int_32*,int*,int*,png_charp*,png_charpp*)
png_set_IHDR(png_structp,png_infop,png_uint_32,png_uint_32,int,int,int ,int,int)9__Globals.png_set_IHDR(png_structp,png_infop,png_uint_32,png_uint_32 ,int,int,int,int,int)
png_set_pCAL(png_structp,png_infop,png_const_charp,png_int_32 ,png_int_32,int,int,png_const_charp,png_charpp)9__Globals.png_set_pCAL(png_structp,png_infop,png_const_charp ,png_int_32,png_int_32,int,int,png_const_charp,png_charpp)
png_write_cHRM_fixed(png_structp,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point)9__Globals.png_write_cHRM_fixed(png_structp,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point,png_fixed_point ,png_fixed_point,png_fixed_point,png_fixed_point)
addVolumeLightSceneNode(irr::scene::ISceneNode*,s32,constu32,constu32 ,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.ISceneManager.addVolumeLightSceneNode (irr::scene::ISceneNode*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)
addWaterSurfaceSceneNode(irr::scene::IMesh*,f32,f32,f32 ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.ISceneManager.addWaterSurfaceSceneNode(irr::scene::IMesh* ,f32,f32,f32,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
addArrowMesh(constio::path&,video::SColor,video::SColor,u32,u32,f32 ,f32,f32,f32)9irr.scene.ISceneManager.addArrowMesh(constio::path&,video::SColor ,video::SColor,u32,u32,f32,f32,f32,f32)
addVolumeLightSceneNode(irr::scene::ISceneNode*,s32,constu32,constu32 ,constvideo::SColor,constvideo::SColor,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSceneManager.addVolumeLightSceneNode (irr::scene::ISceneNode*,s32,constu32,constu32,constvideo::SColor ,constvideo::SColor,constcore::vector3df&,constcore::vector3df& ,constcore::vector3df&)
addWaterSurfaceSceneNode(irr::scene::IMesh*,f32,f32,f32 ,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSceneManager.addWaterSurfaceSceneNode(irr::scene::IMesh* ,f32,f32,f32,irr::scene::ISceneNode*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
addArrowMesh(constio::path&,video::SColor,video::SColor,u32,u32,f32 ,f32,f32,f32)9irr.scene.CSceneManager.addArrowMesh(constio::path&,video::SColor ,video::SColor,u32,u32,f32,f32,f32,f32)
calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,core::vector3df&,core::vector3df&,core::vector3df&,core::vector2df& ,core::vector2df&,core::vector2df&)9irr.scene.CSkinnedMesh.calculateTangents(core::vector3df& ,core::vector3df&,core::vector3df&,core::vector3df&,core::vector3df& ,core::vector3df&,core::vector2df&,core::vector2df&,core::vector2df&)
CSphereSceneNode(f32,u32,u32,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)9irr.scene.CSphereSceneNode.CSphereSceneNode(f32,u32,u32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)9irr.scene.CSkyBoxSceneNode.CSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32)
CSkyDomeSceneNode(video::ITexture*,u32,u32,f32,f32,f32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)9irr.scene.CSkyDomeSceneNode.CSkyDomeSceneNode(video::ITexture*,u32,u32 ,f32,f32,f32,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)
CTerrainSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,io::IFileSystem*,s32,s32,irr::scene::E_TERRAIN_PATCH_SIZE ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)9irr.scene.CTerrainSceneNode.CTerrainSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,io::IFileSystem*,s32,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CBillboardTextSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,gui::IGUIFont*,constwchar_t* ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)9irr.scene.CBillboardTextSceneNode.CBillboardTextSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,gui::IGUIFont* ,constwchar_t*,constcore::vector3df&,constcore::dimension2d<f32>& ,video::SColor,video::SColor)
calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,constcore::vector2df&,constcore::vector2df&,constcore::vector2df&)9irr.scene.anonymous_namespace{cmeshmanipulator.cpp}.__Globals .calculateTangents(core::vector3df&,core::vector3df&,core::vector3df& ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& ,constcore::vector2df&,constcore::vector2df&,constcore::vector2df&)
S3DVertex(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32)9irr.video.S3DVertex.S3DVertex(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32)
S3DVertex2TCoords(f32,f32,f32,f32,f32,f32,irr::video::SColor,f32,f32)9irr.video.S3DVertex2TCoords.S3DVertex2TCoords(f32,f32,f32,f32,f32,f32 ,irr::video::SColor,f32,f32)
addHighLevelShaderMaterial(constc8*,constc8*,constc8* ,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)9irr.video.IGPUProgrammingServices.addHighLevelShaderMaterial(constc8* ,constc8*,constc8*,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)
addHighLevelShaderMaterialFromFiles(constio::path&,constio::path& ,constio::path&,scene::E_PRIMITIVE_TYPE,scene::E_PRIMITIVE_TYPE,u32 ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)9irr.video.IGPUProgrammingServices.addHighLevelShaderMaterialFromFiles (constio::path&,constio::path&,constio::path&,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::E_MATERIAL_TYPE,s32)
CD3D9ShaderMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver* ,s32&,constc8*,constc8*,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)8__Globals.CD3D9ShaderMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)8__Globals.deflateInit2_(z_streamp,int,int,int,int,int,constchar*,int)
png_check_IHDR(png_structp,png_uint_32,png_uint_32,int,int,int,int,int )8__Globals.png_check_IHDR(png_structp,png_uint_32,png_uint_32,int,int ,int,int,int)
png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int,int,int,int )8__Globals.png_write_IHDR(png_structp,png_uint_32,png_uint_32,int,int ,int,int,int)
png_write_pCAL(png_structp,png_charp,png_int_32,png_int_32,int,int ,png_const_charp,png_charpp)8__Globals.png_write_pCAL(png_structp,png_charp,png_int_32,png_int_32 ,int,int,png_const_charp,png_charpp)
mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)8__Globals.mainSimpleSort(UInt32*,UChar*,UInt16*,Int32,Int32,Int32 ,Int32,Int32*)
mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32,Int32*)8__Globals.mainQSort3(UInt32*,UChar*,UInt16*,Int32,Int32,Int32,Int32 ,Int32*)
getSample_texture_dither(tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu,constu32 ,constu32)8irr.__Globals.getSample_texture_dither(tFixPoint&,tFixPoint& ,tFixPoint&,constirr::sInternalTexture*,consttFixPointu ,consttFixPointu,constu32,constu32)
CSceneNodeAnimatorCameraFPS(gui::ICursorControl*,f32,f32,f32 ,irr::SKeyMap*,u32,bool,bool)8irr.scene.CSceneNodeAnimatorCameraFPS.CSceneNodeAnimatorCameraFPS (gui::ICursorControl*,f32,f32,f32,irr::SKeyMap*,u32,bool,bool)
addSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,s32)8irr.scene.ISceneManager.addSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,s32)
addSkyDomeSceneNode(video::ITexture*,u32,u32,f32,f32,f32 ,irr::scene::ISceneNode*,s32)8irr.scene.ISceneManager.addSkyDomeSceneNode(video::ITexture*,u32,u32 ,f32,f32,f32,irr::scene::ISceneNode*,s32)
addBillboardTextSceneNode(gui::IGUIFont*,constwchar_t* ,irr::scene::ISceneNode*,constcore::dimension2d<f32>& ,constcore::vector3df&,s32,video::SColor,video::SColor)8irr.scene.ISceneManager.addBillboardTextSceneNode(gui::IGUIFont* ,constwchar_t*,irr::scene::ISceneNode*,constcore::dimension2d<f32>& ,constcore::vector3df&,s32,video::SColor,video::SColor)
createArrowMesh(constu32,constu32,constf32,constf32,constf32,constf32 ,constvideo::SColor,constvideo::SColor)8irr.scene.IGeometryCreator.createArrowMesh(constu32,constu32,constf32 ,constf32,constf32,constf32,constvideo::SColor,constvideo::SColor)
createArrowMesh(constu32,constu32,constf32,constf32,constf32,constf32 ,constvideo::SColor,constvideo::SColor)8irr.scene.CGeometryCreator.createArrowMesh(constu32,constu32,constf32 ,constf32,constf32,constf32,constvideo::SColor,constvideo::SColor)
addSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,s32)8irr.scene.CSceneManager.addSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,s32)
addSkyDomeSceneNode(video::ITexture*,u32,u32,f32,f32,f32 ,irr::scene::ISceneNode*,s32)8irr.scene.CSceneManager.addSkyDomeSceneNode(video::ITexture*,u32,u32 ,f32,f32,f32,irr::scene::ISceneNode*,s32)
addBillboardTextSceneNode(gui::IGUIFont*,constwchar_t* ,irr::scene::ISceneNode*,constcore::dimension2d<f32>& ,constcore::vector3df&,s32,video::SColor,video::SColor)8irr.scene.CSceneManager.addBillboardTextSceneNode(gui::IGUIFont* ,constwchar_t*,irr::scene::ISceneNode*,constcore::dimension2d<f32>& ,constcore::vector3df&,s32,video::SColor,video::SColor)
getFrameData(f32,irr::scene::ISkinnedMesh::SJoint*,core::vector3df& ,s32&,core::vector3df&,s32&,core::quaternion&,s32&)8irr.scene.CSkinnedMesh.getFrameData(f32 ,irr::scene::ISkinnedMesh::SJoint*,core::vector3df&,s32& ,core::vector3df&,s32&,core::quaternion&,s32&)

Statistics

Stat   # Parameters
Sum:2 576
Average:7.81
Minimum:6
Maximum:17
Standard deviation:2.5
Variance:6.24
warningCritical    Rule warning: Methods with too many local variables
// <Name>Methods with too many local variables</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbVariables > 15 
  
orderby m.NbVariables descending
select new { m, m.NbVariables }

// Methods where NbVariables > 8 are hard to understand and maintain.
// Methods where NbVariables > 15 are extremely complex 
// and should be split in smaller methods.
// See the definition of the Nbvariables metric here 
// http://www.cppdepend.com/Metrics.aspx#Nbvariables

196 methods matched

methods# VariablesFull Name
png_write_find_filter(png_structp,png_row_infop)104__Globals.png_write_find_filter(png_structp,png_row_infop)
BZ2_decompress(DState*)85__Globals.BZ2_decompress(DState*)
load(io::IReadFile*)67irr.scene.CMS3DMeshFileLoader.load(io::IReadFile*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)66irr.video.CTRTextureGouraudAdd.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)62irr.video.CTRTextureGouraud.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
createForsythOptimizedMesh(constscene::IMesh*)59irr.scene.CMeshManipulator.createForsythOptimizedMesh (constscene::IMesh*)
writeMeshGeometry(constirr::core::stringw&,scene::IMesh*)59irr.scene.CColladaMeshWriter.writeMeshGeometry (constirr::core::stringw&,scene::IMesh*)
readPolygonSection(io::IXMLReaderUTF8*,core::array<SSource>& ,scene::SMesh*,constcore::stringc&)58irr.scene.CColladaFileLoader.readPolygonSection(io::IXMLReaderUTF8* ,core::array<SSource>&,scene::SMesh*,constcore::stringc&)
createMesh(io::IReadFile*)54irr.scene.CDMFLoader.createMesh(io::IReadFile*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)54irr.video.CTRTextureGouraudNoZ.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
png_do_compose(png_row_infop,png_bytep,png_structp)50__Globals.png_do_compose(png_row_infop,png_bytep,png_structp)
png_set_quantize(png_structp,png_colorp,int,int,png_const_uint_16p,int )48__Globals.png_set_quantize(png_structp,png_colorp,int,int ,png_const_uint_16p,int)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)47irr.video.CTRGouraud.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)45irr.video.CTRTextureGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
createMesh(io::IReadFile*)44irr.scene.CMY3DMeshFileLoader.createMesh(io::IReadFile*)
png_do_read_interlace(png_row_infop,png_bytep,int,png_uint_32)42__Globals.png_do_read_interlace(png_row_infop,png_bytep,int ,png_uint_32)
createMesh(io::IReadFile*)42irr.scene.COCTLoader.createMesh(io::IReadFile*)
LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)41__Globals.LzmaDec_DecodeReal(CLzmaDec*,SizeT,constByte*)
createMesh(io::IReadFile*)41irr.scene.COBJMeshFileLoader.createMesh(io::IReadFile*)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)41irr.video.CTRTextureFlat.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)40__Globals.decompress_smooth_data(j_decompress_ptr,JSAMPIMAGE)
sendMTFValues(EState*)38__Globals.sendMTFValues(EState*)
parseDataObjectMesh(irr::scene::CXMeshFileLoader::SXMesh&)38irr.scene.CXMeshFileLoader.parseDataObjectMesh (irr::scene::CXMeshFileLoader::SXMesh&)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)36irr.video.CTRGouraudWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
scanline_bilinear()34irr.video.CTRNormalMap.scanline_bilinear()
png_do_rgb_to_gray(png_structp,png_row_infop,png_bytep)33__Globals.png_do_rgb_to_gray(png_structp,png_row_infop,png_bytep)
createAndOpenFile(u32)33irr.io.CZipReader.createAndOpenFile(u32)
render()32irr.scene.COctreeSceneNode.render()
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)32irr.video.CTRTextureFlatWire.drawIndexedTriangleList (irr::video::S2DVertex*,s32,constu16*,s32)
initDriver(irr::CIrrDeviceWin32*)32irr.video.COpenGLDriver.initDriver(irr::CIrrDeviceWin32*)
initModel()30irr.scene.CAnimatedMeshHalfLife.initModel()
render()30irr.scene.CAnimatedMeshSceneNode.render()
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)30irr.video.CTRFlat.drawIndexedTriangleList(irr::video::S2DVertex*,s32 ,constu16*,s32)
createMesh(io::IReadFile*)29irr.scene.CLWOMeshFileLoader.createMesh(io::IReadFile*)
processKey(constirr::SEvent&)29irr.gui.CGUIEditBox.processKey(constirr::SEvent&)
jpeg_idct_16x8(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)28__Globals.jpeg_idct_16x8(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
pass2_fs_dither(j_decompress_ptr,JSAMPARRAY,JSAMPARRAY,int)28__Globals.pass2_fs_dither(j_decompress_ptr,JSAMPARRAY,JSAMPARRAY,int)
png_do_write_interlace(png_row_infop,png_bytep,int)28__Globals.png_do_write_interlace(png_row_infop,png_bytep,int)
makeNormalMapTexture(video::ITexture*,f32)28irr.video.CNullDriver.makeNormalMapTexture(video::ITexture*,f32)
scanline_bilinear()28irr.video.CTRGTextureLightMap2_M4.scanline_bilinear()
jpeg_idct_16x16(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)27__Globals.jpeg_idct_16x16(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_8x16(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)27__Globals.jpeg_idct_8x16(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_init_read_transformations(png_structp)27__Globals.png_init_read_transformations(png_structp)
createMeshWelded(irr::scene::IMesh*,f32)27irr.scene.CMeshManipulator.createMeshWelded(irr::scene::IMesh*,f32)
testTriangleIntersection (irr::scene::CSceneCollisionManager::SCollisionData* ,constcore::triangle3df&)27irr.scene.CSceneCollisionManager.testTriangleIntersection (irr::scene::CSceneCollisionManager::SCollisionData* ,constcore::triangle3df&)
jpeg_idct_ifast(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)26__Globals.jpeg_idct_ifast(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_15x15(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)26__Globals.jpeg_idct_15x15(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
draw()26irr.gui.CGUIEditBox.draw()
inflate_table(codetype,unsignedshort*,unsignedint,code**,unsignedint* ,unsignedshort*)25__Globals.inflate_table(codetype,unsignedshort*,unsignedint,code** ,unsignedint*,unsignedshort*)
jpeg_idct_14x14(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)25__Globals.jpeg_idct_14x14(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_14x7(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)25__Globals.jpeg_idct_14x7(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_7x14(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)25__Globals.jpeg_idct_7x14(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)25irr.__Globals.getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)
createMeshCopy(scene::IMesh*)25irr.scene.CMeshManipulator.createMeshCopy(scene::IMesh*)
getPickedNodeBB(irr::scene::ISceneNode*,core::line3df&,s32,bool,f32& ,irr::scene::ISceneNode*&)25irr.scene.CSceneCollisionManager.getPickedNodeBB (irr::scene::ISceneNode*,core::line3df&,s32,bool,f32& ,irr::scene::ISceneNode*&)
drawIndexedTriangleList(irr::video::S2DVertex*,s32,constu16*,s32)25irr.video.CTRFlatWire.drawIndexedTriangleList(irr::video::S2DVertex* ,s32,constu16*,s32)
scanline_bilinear()25irr.video.CTRTextureDetailMap2.scanline_bilinear()
jpeg_idct_13x13(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)24__Globals.jpeg_idct_13x13(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
getSample_texture(tFixPoint&,tFixPoint&,tFixPoint&,tFixPoint& ,constirr::sInternalTexture*,consttFixPointu,consttFixPointu)24irr.__Globals.getSample_texture(tFixPoint&,tFixPoint&,tFixPoint& ,tFixPoint&,constirr::sInternalTexture*,consttFixPointu ,consttFixPointu)
createTerrainMesh(video::IImage*,video::IImage*,constcore::dimension2d <f32>&,f32,video::IVideoDriver*,constcore::dimension2d<u32>&,bool)24irr.scene.CGeometryCreator.createTerrainMesh(video::IImage* ,video::IImage*,constcore::dimension2d<f32>&,f32,video::IVideoDriver* ,constcore::dimension2d<u32>&,bool)
readMat(u32)24irr.scene.CLWOMeshFileLoader.readMat(u32)
loadHeightMapRAW(io::IReadFile*,s32,bool,bool,s32,video::SColor,s32)24irr.scene.CTerrainSceneNode.loadHeightMapRAW(io::IReadFile*,s32,bool ,bool,s32,video::SColor,s32)
render()24irr.scene.CQuake3ShaderSceneNode.render()
scanline_bilinear()24irr.video.CTRTextureVertexAlpha2.scanline_bilinear()
renderLine(constirr::video::s4DVertex*,constirr::video::s4DVertex*)24irr.video.CTRTextureWire2.renderLine(constirr::video::s4DVertex* ,constirr::video::s4DVertex*)
jpeg_fdct_15x15(DCTELEM*,JSAMPARRAY,JDIMENSION)23__Globals.jpeg_fdct_15x15(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_12x12(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)23__Globals.jpeg_idct_12x12(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_12x6(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)23__Globals.jpeg_idct_12x6(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_6x12(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)23__Globals.jpeg_idct_6x12(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_combine_row(png_structp,png_bytep,int)23__Globals.png_combine_row(png_structp,png_bytep,int)
createSphereMesh(f32,u32,u32)23irr.scene.CGeometryCreator.createSphereMesh(f32,u32,u32)
readEffect(io::IXMLReaderUTF8*,irr::scene::SColladaEffect*)23irr.scene.CColladaFileLoader.readEffect(io::IXMLReaderUTF8* ,irr::scene::SColladaEffect*)
refreshControls()23irr.gui.CGUIMessageBox.refreshControls()
loadImage(io::IReadFile*)23irr.video.CImageLoaderPPM.loadImage(io::IReadFile*)
jpeg_fdct_ifast(DCTELEM*,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_fdct_ifast(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_fdct_8x16(DCTELEM*,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_fdct_8x16(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_fdct_7x14(DCTELEM*,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_fdct_7x14(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_10x10(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_idct_10x10(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_11x11(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_idct_11x11(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
jpeg_idct_5x10(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)22__Globals.jpeg_idct_5x10(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
png_do_unshift(png_row_infop,png_bytep,png_const_color_8p)22__Globals.png_do_unshift(png_row_infop,png_bytep,png_const_color_8p)
png_do_shift(png_row_infop,png_bytep,png_const_color_8p)22__Globals.png_do_shift(png_row_infop,png_bytep,png_const_color_8p)
getFrameData(f32,irr::scene::ISkinnedMesh::SJoint*,core::vector3df& ,s32&,core::vector3df&,s32&,core::quaternion&,s32&)22irr.scene.CSkinnedMesh.getFrameData(f32 ,irr::scene::ISkinnedMesh::SJoint*,core::vector3df&,s32& ,core::vector3df&,s32&,core::quaternion&,s32&)
readMTL(constc8*,constio::path&)22irr.scene.COBJMeshFileLoader.readMTL(constc8*,constio::path&)
loadLimb(io::IReadFile*,scene::SMesh*,constcore::matrix4&)22irr.scene.CSMFMeshFileLoader.loadLimb(io::IReadFile*,scene::SMesh* ,constcore::matrix4&)
writeMeshBuffer(constscene::IMeshBuffer*)22irr.scene.CIrrMeshWriter.writeMeshBuffer(constscene::IMeshBuffer*)
breakText()22irr.gui.CGUIStaticText.breakText()
drawClippedIndexedTriangleListT<VERTEXTYPE>(constVERTEXTYPE*,s32 ,constu16*,s32)22irr.video.CSoftwareDriver.drawClippedIndexedTriangleListT<VERTEXTYPE> (constVERTEXTYPE*,s32,constu16*,s32)
fragment_dst_color_one_minus_dst_alpha()22irr.video.CTRTextureBlend.fragment_dst_color_one_minus_dst_alpha()
fragment_one_one_minus_src_alpha()22irr.video.CTRTextureBlend.fragment_one_one_minus_src_alpha()
fragment_one_minus_dst_alpha_one()22irr.video.CTRTextureBlend.fragment_one_minus_dst_alpha_one()
fragment_src_alpha_one()22irr.video.CTRTextureBlend.fragment_src_alpha_one()
scanline_bilinear()22irr.video.CTRTextureGouraudAlpha2.scanline_bilinear()
scanline_bilinear()22irr.video.CTRTextureGouraudAlphaNoZ.scanline_bilinear()
inflate_fast(z_streamp,unsignedint)21__Globals.inflate_fast(z_streamp,unsignedint)
jpeg_fdct_16x16(DCTELEM*,JSAMPARRAY,JDIMENSION)21__Globals.jpeg_fdct_16x16(DCTELEM*,JSAMPARRAY,JDIMENSION)
jpeg_idct_10x5(j_decompress_ptr,jpeg_component_info*,JCOEFPTR ,JSAMPARRAY,JDIMENSION)21__Globals.jpeg_idct_10x5(j_decompress_ptr,jpeg_component_info* ,JCOEFPTR,JSAMPARRAY,JDIMENSION)
mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)21__Globals.mainSort(UInt32*,UChar*,UInt16*,UInt32*,Int32,Int32,Int32*)
readEmbeddedLightmap(io::IReadFile*,char*)21irr.scene.CMY3DMeshFileLoader.readEmbeddedLightmap(io::IReadFile* ,char*)
composeObject()21irr.scene.COgreMeshFileLoader.composeObject()

Statistics

Stat   # Variables
Sum:4 865
Average:24.82
Minimum:16
Maximum:104
Standard deviation:12.4
Variance:153.66
warningCritical    Rule warning: Methods with too many overloads
// <Name>Methods with too many overloads</Name>
warnif count > 0 from m in JustMyCode.Methods where 
  
m.NbOverloads > 6 && 
  
!m.IsOperator // Don't report operator overload
  orderby m.NbOverloads descending
select new { m, m.NbOverloads }

// Methods where NbOverloads > 6 might 
// be a problem to maintain and provoke higher coupling 
// than necessary. 
// This might also reveal a potential misused of the 
// C# and VB.NET language that since C#3 and VB9 support 
// object initialization. This feature helps reducing the number 
// of constructors of a class.
// See the definition of the NbOverloads metric here 
// http://www.cppdepend.com/Metrics.aspx#NbOverloads

137 methods matched

methods# OverloadsFull Name
setAttribute(constc8*,s32)48irr.io.IAttributes.setAttribute(constc8*,s32)
setAttribute(s32,s32)48irr.io.IAttributes.setAttribute(s32,s32)
setAttribute(constc8*,f32)48irr.io.IAttributes.setAttribute(constc8*,f32)
setAttribute(s32,f32)48irr.io.IAttributes.setAttribute(s32,f32)
setAttribute(constc8*,constc8*)48irr.io.IAttributes.setAttribute(constc8*,constc8*)
setAttribute(s32,constc8*)48irr.io.IAttributes.setAttribute(s32,constc8*)
setAttribute(constc8*,constwchar_t*)48irr.io.IAttributes.setAttribute(constc8*,constwchar_t*)
setAttribute(s32,constwchar_t*)48irr.io.IAttributes.setAttribute(s32,constwchar_t*)
setAttribute(constc8*,void*,s32)48irr.io.IAttributes.setAttribute(constc8*,void*,s32)
setAttribute(s32,void*,s32)48irr.io.IAttributes.setAttribute(s32,void*,s32)
setAttribute(constc8*,constcore::array<core::stringw>&)48irr.io.IAttributes.setAttribute(constc8*,constcore::array <core::stringw>&)
setAttribute(s32,constcore::array<core::stringw>&)48irr.io.IAttributes.setAttribute(s32,constcore::array<core::stringw>&)
setAttribute(constc8*,bool)48irr.io.IAttributes.setAttribute(constc8*,bool)
setAttribute(s32,bool)48irr.io.IAttributes.setAttribute(s32,bool)
setAttribute(constc8*,constc8*,constc8*const*)48irr.io.IAttributes.setAttribute(constc8*,constc8*,constc8*const*)
setAttribute(s32,constc8*,constc8*const*)48irr.io.IAttributes.setAttribute(s32,constc8*,constc8*const*)
setAttribute(constc8*,video::SColor)48irr.io.IAttributes.setAttribute(constc8*,video::SColor)
setAttribute(s32,video::SColor)48irr.io.IAttributes.setAttribute(s32,video::SColor)
setAttribute(constc8*,video::SColorf)48irr.io.IAttributes.setAttribute(constc8*,video::SColorf)
setAttribute(s32,video::SColorf)48irr.io.IAttributes.setAttribute(s32,video::SColorf)
setAttribute(constc8*,core::vector3df)48irr.io.IAttributes.setAttribute(constc8*,core::vector3df)
setAttribute(s32,core::vector3df)48irr.io.IAttributes.setAttribute(s32,core::vector3df)
setAttribute(constc8*,core::vector2df)48irr.io.IAttributes.setAttribute(constc8*,core::vector2df)
setAttribute(s32,core::vector2df)48irr.io.IAttributes.setAttribute(s32,core::vector2df)
setAttribute(constc8*,core::position2di)48irr.io.IAttributes.setAttribute(constc8*,core::position2di)
setAttribute(s32,core::position2di)48irr.io.IAttributes.setAttribute(s32,core::position2di)
setAttribute(constc8*,core::rect<s32>)48irr.io.IAttributes.setAttribute(constc8*,core::rect<s32>)
setAttribute(s32,core::rect<s32>)48irr.io.IAttributes.setAttribute(s32,core::rect<s32>)
setAttribute(constc8*,core::dimension2d<u32>)48irr.io.IAttributes.setAttribute(constc8*,core::dimension2d<u32>)
setAttribute(s32,core::dimension2d<u32>)48irr.io.IAttributes.setAttribute(s32,core::dimension2d<u32>)
setAttribute(constc8*,constcore::matrix4&)48irr.io.IAttributes.setAttribute(constc8*,constcore::matrix4&)
setAttribute(s32,constcore::matrix4&)48irr.io.IAttributes.setAttribute(s32,constcore::matrix4&)
setAttribute(constc8*,core::quaternion)48irr.io.IAttributes.setAttribute(constc8*,core::quaternion)
setAttribute(s32,core::quaternion)48irr.io.IAttributes.setAttribute(s32,core::quaternion)
setAttribute(constc8*,core::aabbox3df)48irr.io.IAttributes.setAttribute(constc8*,core::aabbox3df)
setAttribute(s32,core::aabbox3df)48irr.io.IAttributes.setAttribute(s32,core::aabbox3df)
setAttribute(constc8*,core::plane3df)48irr.io.IAttributes.setAttribute(constc8*,core::plane3df)
setAttribute(s32,core::plane3df)48irr.io.IAttributes.setAttribute(s32,core::plane3df)
setAttribute(constc8*,core::triangle3df)48irr.io.IAttributes.setAttribute(constc8*,core::triangle3df)
setAttribute(s32,core::triangle3df)48irr.io.IAttributes.setAttribute(s32,core::triangle3df)
setAttribute(constc8*,core::line2df)48irr.io.IAttributes.setAttribute(constc8*,core::line2df)
setAttribute(s32,core::line2df)48irr.io.IAttributes.setAttribute(s32,core::line2df)
setAttribute(constc8*,core::line3df)48irr.io.IAttributes.setAttribute(constc8*,core::line3df)
setAttribute(s32,core::line3df)48irr.io.IAttributes.setAttribute(s32,core::line3df)
setAttribute(constc8*,video::ITexture*,constio::path&)48irr.io.IAttributes.setAttribute(constc8*,video::ITexture* ,constio::path&)
setAttribute(s32,video::ITexture*,constio::path&)48irr.io.IAttributes.setAttribute(s32,video::ITexture*,constio::path&)
setAttribute(constc8*,void*)48irr.io.IAttributes.setAttribute(constc8*,void*)
setAttribute(s32,void*)48irr.io.IAttributes.setAttribute(s32,void*)
setAttribute(constc8*,s32)48irr.io.CAttributes.setAttribute(constc8*,s32)
setAttribute(s32,s32)48irr.io.CAttributes.setAttribute(s32,s32)
setAttribute(constc8*,f32)48irr.io.CAttributes.setAttribute(constc8*,f32)
setAttribute(s32,f32)48irr.io.CAttributes.setAttribute(s32,f32)
setAttribute(constc8*,constc8*)48irr.io.CAttributes.setAttribute(constc8*,constc8*)
setAttribute(s32,constc8*)48irr.io.CAttributes.setAttribute(s32,constc8*)
setAttribute(constc8*,constwchar_t*)48irr.io.CAttributes.setAttribute(constc8*,constwchar_t*)
setAttribute(s32,constwchar_t*)48irr.io.CAttributes.setAttribute(s32,constwchar_t*)
setAttribute(constc8*,void*,s32)48irr.io.CAttributes.setAttribute(constc8*,void*,s32)
setAttribute(s32,void*,s32)48irr.io.CAttributes.setAttribute(s32,void*,s32)
setAttribute(constc8*,constcore::array<core::stringw>&)48irr.io.CAttributes.setAttribute(constc8*,constcore::array <core::stringw>&)
setAttribute(s32,constcore::array<core::stringw>&)48irr.io.CAttributes.setAttribute(s32,constcore::array<core::stringw>&)
setAttribute(constc8*,bool)48irr.io.CAttributes.setAttribute(constc8*,bool)
setAttribute(s32,bool)48irr.io.CAttributes.setAttribute(s32,bool)
setAttribute(constc8*,constc8*,constc8*const*)48irr.io.CAttributes.setAttribute(constc8*,constc8*,constc8*const*)
setAttribute(s32,constc8*,constc8*const*)48irr.io.CAttributes.setAttribute(s32,constc8*,constc8*const*)
setAttribute(constc8*,video::SColor)48irr.io.CAttributes.setAttribute(constc8*,video::SColor)
setAttribute(s32,video::SColor)48irr.io.CAttributes.setAttribute(s32,video::SColor)
setAttribute(constc8*,video::SColorf)48irr.io.CAttributes.setAttribute(constc8*,video::SColorf)
setAttribute(s32,video::SColorf)48irr.io.CAttributes.setAttribute(s32,video::SColorf)
setAttribute(constc8*,core::vector3df)48irr.io.CAttributes.setAttribute(constc8*,core::vector3df)
setAttribute(s32,core::vector3df)48irr.io.CAttributes.setAttribute(s32,core::vector3df)
setAttribute(constc8*,core::vector2df)48irr.io.CAttributes.setAttribute(constc8*,core::vector2df)
setAttribute(s32,core::vector2df)48irr.io.CAttributes.setAttribute(s32,core::vector2df)
setAttribute(constc8*,core::position2di)48irr.io.CAttributes.setAttribute(constc8*,core::position2di)
setAttribute(s32,core::position2di)48irr.io.CAttributes.setAttribute(s32,core::position2di)
setAttribute(constc8*,core::rect<s32>)48irr.io.CAttributes.setAttribute(constc8*,core::rect<s32>)
setAttribute(s32,core::rect<s32>)48irr.io.CAttributes.setAttribute(s32,core::rect<s32>)
setAttribute(constc8*,core::dimension2d<u32>)48irr.io.CAttributes.setAttribute(constc8*,core::dimension2d<u32>)
setAttribute(s32,core::dimension2d<u32>)48irr.io.CAttributes.setAttribute(s32,core::dimension2d<u32>)
setAttribute(constc8*,constcore::matrix4&)48irr.io.CAttributes.setAttribute(constc8*,constcore::matrix4&)
setAttribute(s32,constcore::matrix4&)48irr.io.CAttributes.setAttribute(s32,constcore::matrix4&)
setAttribute(constc8*,core::quaternion)48irr.io.CAttributes.setAttribute(constc8*,core::quaternion)
setAttribute(s32,core::quaternion)48irr.io.CAttributes.setAttribute(s32,core::quaternion)
setAttribute(constc8*,core::aabbox3df)48irr.io.CAttributes.setAttribute(constc8*,core::aabbox3df)
setAttribute(s32,core::aabbox3df)48irr.io.CAttributes.setAttribute(s32,core::aabbox3df)
setAttribute(constc8*,core::plane3df)48irr.io.CAttributes.setAttribute(constc8*,core::plane3df)
setAttribute(s32,core::plane3df)48irr.io.CAttributes.setAttribute(s32,core::plane3df)
setAttribute(constc8*,core::triangle3df)48irr.io.CAttributes.setAttribute(constc8*,core::triangle3df)
setAttribute(s32,core::triangle3df)48irr.io.CAttributes.setAttribute(s32,core::triangle3df)
setAttribute(constc8*,core::line2df)48irr.io.CAttributes.setAttribute(constc8*,core::line2df)
setAttribute(s32,core::line2df)48irr.io.CAttributes.setAttribute(s32,core::line2df)
setAttribute(constc8*,core::line3df)48irr.io.CAttributes.setAttribute(constc8*,core::line3df)
setAttribute(s32,core::line3df)48irr.io.CAttributes.setAttribute(s32,core::line3df)
setAttribute(constc8*,video::ITexture*,constio::path&)48irr.io.CAttributes.setAttribute(constc8*,video::ITexture* ,constio::path&)
setAttribute(s32,video::ITexture*,constio::path&)48irr.io.CAttributes.setAttribute(s32,video::ITexture*,constio::path&)
setAttribute(constc8*,void*)48irr.io.CAttributes.setAttribute(constc8*,void*)
setAttribute(s32,void*)48irr.io.CAttributes.setAttribute(s32,void*)
CNumbersAttribute(constchar*,video::SColorf)18irr.io.CNumbersAttribute.CNumbersAttribute(constchar*,video::SColorf)
CNumbersAttribute(constchar*,video::SColor)18irr.io.CNumbersAttribute.CNumbersAttribute(constchar*,video::SColor)
CNumbersAttribute(constchar*,core::vector3df)18irr.io.CNumbersAttribute.CNumbersAttribute(constchar*,core::vector3df)
CNumbersAttribute(constchar*,core::rect<s32>)18irr.io.CNumbersAttribute.CNumbersAttribute(constchar*,core::rect<s32>)

Statistics

Stat   # Overloads
Sum:5 111
Average:37.31
Minimum:7
Maximum:48
Standard deviation:16.6
Variance:275.6
warningCritical    Rule warning: Types with too many methods
// <Name>Types with too many methods</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Methods.Count() > 20 && !t.IsGlobal
  
orderby t.Methods.Count() descending
select new { t, t.InstanceMethods, t.StaticMethods }

// Types where Methods.Count() > 20 might be hard to 
// understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of methods. 
// For example, the System.Windows.Forms.DataGridView 
// standard class has more than 1000 methods.

88 types matched

typesInstanceMethodsStaticMethodsFull Name
CAttributes142 methods0 methodirr.io.CAttributes
CNullDriver141 methods0 methodirr.video.CNullDriver
IAttributes140 methods0 methodirr.io.IAttributes
IVideoDriver123 methods0 methodirr.video.IVideoDriver
CSceneManager108 methods0 methodirr.scene.CSceneManager
COpenGLExtensionHandler106 methods0 methodirr.video.COpenGLExtensionHandler
ISceneManager101 methods0 methodirr.scene.ISceneManager
COpenGLDriver94 methods0 methodirr.video.COpenGLDriver
CD3D9Driver86 methods0 methodirr.video.CD3D9Driver
CMatrix4<T>81 methods0 methodirr.core.CMatrix4<T>
CGUIEnvironment67 methods0 methodirr.gui.CGUIEnvironment
CQ3LevelMesh62 methods0 methodirr.scene.CQ3LevelMesh
IGUIEnvironment62 methods0 methodirr.gui.IGUIEnvironment
CBurningVideoDriver61 methods0 methodirr.video.CBurningVideoDriver
IGUIElement59 methods0 methodirr.gui.IGUIElement
CColladaMeshWriter58 methods0 methodirr.scene.CColladaMeshWriter
IAttribute58 methods0 methodirr.io.IAttribute
string<T,TAlloc,>56 methods0 methodirr.core.string<T,TAlloc,>
ISceneNode56 methods0 methodirr.scene.ISceneNode
CSkinnedMesh49 methods0 methodirr.scene.CSkinnedMesh
CNumbersAttribute49 methods0 methodirr.io.CNumbersAttribute
vector3d<T>48 methods0 methodirr.core.vector3d<T>
CColladaFileLoader48 methods0 methodirr.scene.CColladaFileLoader
CTerrainSceneNode47 methods0 methodirr.scene.CTerrainSceneNode
vector2d<T>46 methods0 methodirr.core.vector2d<T>
CAnimatedMeshSceneNode45 methods0 methodirr.scene.CAnimatedMeshSceneNode
CGUITable43 methods0 methodirr.gui.CGUITable
CXMeshFileLoader42 methods0 methodirr.scene.CXMeshFileLoader
IFileSystem40 methods0 methodirr.io.IFileSystem
IGUITreeViewNode40 methods0 methodirr.gui.IGUITreeViewNode
CGUIEditBox40 methods0 methodirr.gui.CGUIEditBox
IrrlichtDevice38 methods1 methodirr.IrrlichtDevice
CFileSystem38 methods0 methodirr.io.CFileSystem
CGUIListBox38 methods0 methodirr.gui.CGUIListBox
CGUITreeViewNode38 methods0 methodirr.gui.CGUITreeViewNode
CGUIContextMenu37 methods0 methodirr.gui.CGUIContextMenu
IMeshManipulator36 methods0 methodirr.scene.IMeshManipulator
CAnimatedMeshHalfLife35 methods0 methodirr.scene.CAnimatedMeshHalfLife
CCameraSceneNode35 methods0 methodirr.scene.CCameraSceneNode
CParticleCylinderEmitter35 methods0 methodirr.scene.CParticleCylinderEmitter
CGUITabControl35 methods0 methodirr.gui.CGUITabControl
CXMLReaderImpl<char_type,superclass>34 methods0 methodirr.io.CXMLReaderImpl<char_type,superclass>
CSoftwareDriver34 methods0 methodirr.video.CSoftwareDriver
array<T,TAlloc,>33 methods0 methodirr.core.array<T,TAlloc,>
SSkinMeshBuffer33 methods0 methodirr.scene.SSkinMeshBuffer
CIrrDeviceStub32 methods0 methodirr.CIrrDeviceStub
CParticleSystemSceneNode32 methods0 methodirr.scene.CParticleSystemSceneNode
CColorConverter0 method32 methodsirr.video.CColorConverter
CIrrDeviceWin3230 methods1 methodirr.CIrrDeviceWin32
CParticleAnimatedMeshSceneNodeEmitter31 methods0 methodirr.scene.CParticleAnimatedMeshSceneNodeEmitter
CParticleMeshEmitter31 methods0 methodirr.scene.CParticleMeshEmitter
CParticleRingEmitter31 methods0 methodirr.scene.CParticleRingEmitter
quaternion30 methods0 methodirr.core.quaternion
ICameraSceneNode30 methods0 methodirr.scene.ICameraSceneNode
COgreMeshFileLoader30 methods0 methodirr.scene.COgreMeshFileLoader
CQuake3ShaderSceneNode30 methods0 methodirr.scene.CQuake3ShaderSceneNode
CGUIStaticText30 methods0 methodirr.gui.CGUIStaticText
IMeshBuffer29 methods0 methodirr.scene.IMeshBuffer
CParticleSphereEmitter29 methods0 methodirr.scene.CParticleSphereEmitter
IAnimatedMeshSceneNode28 methods0 methodirr.scene.IAnimatedMeshSceneNode
CSceneNodeAnimatorCollisionResponse28 methods0 methodirr.scene.CSceneNodeAnimatorCollisionResponse
IGUIListBox28 methods0 methodirr.gui.IGUIListBox
CMeshBuffer<T>27 methods0 methodirr.scene.CMeshBuffer<T>
CParticleBoxEmitter27 methods0 methodirr.scene.CParticleBoxEmitter
CGUISkin27 methods0 methodirr.gui.CGUISkin
SColor26 methods0 methodirr.video.SColor
IImage24 methods2 methodsirr.video.IImage
CImage26 methods0 methodirr.video.CImage
CParticlePointEmitter25 methods0 methodirr.scene.CParticlePointEmitter
IGUISkin25 methods0 methodirr.gui.IGUISkin
CGUIButton25 methods0 methodirr.gui.CGUIButton
IParticleEmitter24 methods0 methodirr.scene.IParticleEmitter
IGUIContextMenu24 methods0 methodirr.gui.IGUIContextMenu
IGUIStaticText24 methods0 methodirr.gui.IGUIStaticText
aabbox3d<T>23 methods0 methodirr.core.aabbox3d<T>
map<KeyType,ValueType>23 methods0 methodirr.core.map<KeyType,ValueType>
ISkinnedMesh23 methods0 methodirr.scene.ISkinnedMesh
IParticleSystemSceneNode23 methods0 methodirr.scene.IParticleSystemSceneNode
CAnimatedMeshMD323 methods0 methodirr.scene.CAnimatedMeshMD3
IGUIEditBox23 methods0 methodirr.gui.IGUIEditBox
ISceneNodeAnimatorCollisionResponse22 methods0 methodirr.scene.ISceneNodeAnimatorCollisionResponse
CIrrDeviceWin32+CCursorControl21 methods0 methodirr.CIrrDeviceWin32+CCursorControl
CMeshManipulator21 methods0 methodirr.scene.CMeshManipulator
IGUIButton21 methods0 methodirr.gui.IGUIButton
CGUIComboBox21 methods0 methodirr.gui.CGUIComboBox
CGUIScrollBar21 methods0 methodirr.gui.CGUIScrollBar
COpenGLTexture21 methods0 methodirr.video.COpenGLTexture
CD3D9Texture21 methods0 methodirr.video.CD3D9Texture

Statistics

Stat   InstanceMethods   StaticMethods
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with too many fields
// <Name>Types with too many fields</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.Fields.Count() > 20 && 
  
!t.IsEnumeration && !t.IsGlobal
  
orderby t.Fields.Count() descending
select new { t, t.InstanceFields, t.StaticFields}

// Types where Fields.Count() > 20 and not IsEnumeration 
// might be hard to understand and maintain 
// but there might be cases where it is relevant 
// to have a high number of fields. 
// For example, the System.Windows.Forms.Control 
// standard class has more than 200 fields.

26 types matched

typesInstanceFieldsStaticFieldsFull Name
COpenGLExtensionHandler145 fields0 fieldirr.video.COpenGLExtensionHandler
jpeg_decompress_struct93 fields0 fieldjpeg_decompress_struct
jpeg_compress_struct76 fields0 fieldjpeg_compress_struct
DState64 fields0 fieldDState
internal_state59 fields0 fieldinternal_state
CQ3LevelMesh41 fields0 fieldirr.scene.CQ3LevelMesh
EState39 fields0 fieldEState
SHalflifeHeader36 fields0 fieldirr.scene.SHalflifeHeader
CD3D9Driver35 fields0 fieldirr.video.CD3D9Driver
CLWOMeshFileLoader+tLWOMaterial32 fields0 fieldirr.scene.CLWOMeshFileLoader+tLWOMaterial
CNullDriver31 fields0 fieldirr.video.CNullDriver
CSceneManager29 fields0 fieldirr.scene.CSceneManager
SHalflifeSequence28 fields0 fieldirr.scene.SHalflifeSequence
IGUIElement27 fields0 fieldirr.gui.IGUIElement
SMaterial27 fields0 fieldirr.video.SMaterial
CGUIEditBox26 fields0 fieldirr.gui.CGUIEditBox
COpenGLDriver25 fields0 fieldirr.video.COpenGLDriver
tLWOTextureInfo23 fields0 fieldirr.scene.tLWOTextureInfo
CParticleAnimatedMeshSceneNodeEmitter23 fields0 fieldirr.scene.CParticleAnimatedMeshSceneNodeEmitter
jpeg_component_info22 fields0 fieldjpeg_component_info
SIrrlichtCreationParameters22 fields0 fieldirr.SIrrlichtCreationParameters
CAnimatedMeshSceneNode22 fields0 fieldirr.scene.CAnimatedMeshSceneNode
CTerrainSceneNode21 fields0 fieldirr.scene.CTerrainSceneNode
CSceneNodeAnimatorCollisionResponse21 fields0 fieldirr.scene.CSceneNodeAnimatorCollisionResponse
CParticleMeshEmitter21 fields0 fieldirr.scene.CParticleMeshEmitter
CGUITable21 fields0 fieldirr.gui.CGUITable

Statistics

Stat   InstanceFields   StaticFields
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with poor cohesion
// <Name>Types with poor cohesion</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
(t.LCOM > 0.8 || t.LCOMHS > 0.95) && 
  
t.NbFields > 10 && 
  
t.NbMethods >10 && !t.IsGlobal
  
orderby t.LCOM descending, t.LCOMHS descending
select new { t, t.LCOM, t.LCOMHS, 
                
t.NbMethods, t.NbFields }

// Types where LCOM > 0.8 and NbFields > 10 
// and NbMethods >10 might be problematic. 
// However, it is very hard to avoid such 
// non-cohesive types. The LCOMHS metric
// is often considered as more efficient to 
// detect non-cohesive types.
// See the definition of the LCOM metric here 
// http://www.cppdepend.com/Metrics.aspx#LCOM

38 types matched

typesLack of Cohesion Of Methods (LCOM)LCOM Henderson-Sellers (LCOMHS)# Methods# FieldsFull Name
CNullDriver0.980.9814331irr.video.CNullDriver
COpenGLExtensionHandler0.970.98109145irr.video.COpenGLExtensionHandler
CSceneManager0.960.9711029irr.scene.CSceneManager
COpenGLDriver0.960.979625irr.video.COpenGLDriver
CQ3LevelMesh0.940.966441irr.scene.CQ3LevelMesh
CD3D9Driver0.940.958835irr.video.CD3D9Driver
CGUIEnvironment0.930.946914irr.gui.CGUIEnvironment
IGUIElement0.920.946127irr.gui.IGUIElement
CColladaFileLoader0.910.935019irr.scene.CColladaFileLoader
CIrrDeviceStub0.910.943415irr.CIrrDeviceStub
CColladaMeshWriter0.90.926011irr.scene.CColladaMeshWriter
CBurningVideoDriver0.90.926320irr.video.CBurningVideoDriver
CSoftwareDriver0.890.923617irr.video.CSoftwareDriver
CParticleAnimatedMeshSceneNodeEmitter0.890.933323irr.scene.CParticleAnimatedMeshSceneNodeEmitter
CParticleMeshEmitter0.890.923321irr.scene.CParticleMeshEmitter
CTerrainSceneNode0.890.914921irr.scene.CTerrainSceneNode
ISceneNode0.890.915815irr.scene.ISceneNode
CSkinnedMesh0.880.95115irr.scene.CSkinnedMesh
CXMLReaderImpl<char_type,superclass>0.880.93513irr.io.CXMLReaderImpl<char_type,superclass>
CAnimatedMeshHalfLife0.880.93719irr.scene.CAnimatedMeshHalfLife
CSceneNodeAnimatorCameraMaya0.870.922019irr.scene.CSceneNodeAnimatorCameraMaya
CAnimatedMeshSceneNode0.860.884722irr.scene.CAnimatedMeshSceneNode
CGUIEditBox0.860.894226irr.gui.CGUIEditBox
CSceneNodeAnimatorCollisionResponse0.860.93021irr.scene.CSceneNodeAnimatorCollisionResponse
CGUIListBox0.860.884017irr.gui.CGUIListBox
CXMeshFileLoader0.850.884417irr.scene.CXMeshFileLoader
CParticleCylinderEmitter0.850.873718irr.scene.CParticleCylinderEmitter
CGUIButton0.830.872715irr.gui.CGUIButton
C3DSMeshFileLoader0.830.882216irr.scene.C3DSMeshFileLoader
CParticleRingEmitter0.830.863316irr.scene.CParticleRingEmitter
CGUITable0.830.854521irr.gui.CGUITable
CParticleSphereEmitter0.820.853115irr.scene.CParticleSphereEmitter
CGUIStaticText0.820.853214irr.gui.CGUIStaticText
SSkinMeshBuffer0.820.843413irr.scene.SSkinMeshBuffer
CSceneNodeAnimatorCameraFPS0.820.871914irr.scene.CSceneNodeAnimatorCameraFPS
COctreeSceneNode0.810.862017irr.scene.COctreeSceneNode
CParticleBoxEmitter0.810.842914irr.scene.CParticleBoxEmitter
CIrrDeviceWin32+CCursorControl0.80.842313irr.CIrrDeviceWin32+CCursorControl

Statistics

Stat   Lack of Cohesion Of Methods (LCOM)   LCOM Henderson-Sellers (LCOMHS)   # Methods   # Fields
Sum:33.3734.311 854864
Average:0.880.948.7922.74
Minimum:0.80.841911
Maximum:0.980.98143145
Standard deviation:0.0490.04127.621.09
Variance:0.00240.0017761.8444.93

240
Object Oriented Design  

warningCritical    Rule warning: Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

202 types matched

typesbaseClassesDepth of inheritanceFull Name
CIrrDeviceWin324 types3irr.CIrrDeviceWin32
CIrrDeviceConsole4 types3irr.CIrrDeviceConsole
ISceneNodeAnimator3 types2irr.scene.ISceneNodeAnimator
ISceneNodeAnimatorCameraFPS4 types3irr.scene.ISceneNodeAnimatorCameraFPS
CSceneNodeAnimatorCameraFPS5 types4irr.scene.CSceneNodeAnimatorCameraFPS
ISceneNodeAnimatorCameraMaya4 types3irr.scene.ISceneNodeAnimatorCameraMaya
ICameraSceneNode4 types3irr.scene.ICameraSceneNode
CSceneNodeAnimatorCameraMaya5 types4irr.scene.CSceneNodeAnimatorCameraMaya
ISceneNodeAnimatorCollisionResponse4 types3irr.scene.ISceneNodeAnimatorCollisionResponse
ISkinnedMesh3 types3irr.scene.ISkinnedMesh
ITextSceneNode3 types3irr.scene.ITextSceneNode
ITerrainSceneNode3 types3irr.scene.ITerrainSceneNode
IDummyTransformationSceneNode3 types3irr.scene.IDummyTransformationSceneNode
IBillboardSceneNode3 types3irr.scene.IBillboardSceneNode
IAnimatedMeshMD23 types3irr.scene.IAnimatedMeshMD2
IAnimatedMeshMD33 types3irr.scene.IAnimatedMeshMD3
IAnimatedMeshSceneNode3 types3irr.scene.IAnimatedMeshSceneNode
IParticleAnimatedMeshSceneNodeEmitter3 types3irr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleBoxEmitter3 types3irr.scene.IParticleBoxEmitter
IParticleCylinderEmitter3 types3irr.scene.IParticleCylinderEmitter
IParticleMeshEmitter3 types3irr.scene.IParticleMeshEmitter
IParticleRingEmitter3 types3irr.scene.IParticleRingEmitter
IParticleSphereEmitter3 types3irr.scene.IParticleSphereEmitter
IParticleAttractionAffector3 types3irr.scene.IParticleAttractionAffector
IParticleFadeOutAffector3 types3irr.scene.IParticleFadeOutAffector
IParticleGravityAffector3 types3irr.scene.IParticleGravityAffector
IParticleRotationAffector3 types3irr.scene.IParticleRotationAffector
IParticleSystemSceneNode3 types3irr.scene.IParticleSystemSceneNode
ILightSceneNode3 types3irr.scene.ILightSceneNode
IMeshSceneNode3 types3irr.scene.IMeshSceneNode
CSceneManager4 types3irr.scene.CSceneManager
CSkinnedMesh4 types4irr.scene.CSkinnedMesh
CAnimatedMeshHalfLife3 types3irr.scene.CAnimatedMeshHalfLife
CCubeSceneNode4 types4irr.scene.CCubeSceneNode
CSphereSceneNode4 types4irr.scene.CSphereSceneNode
CAnimatedMeshSceneNode4 types4irr.scene.CAnimatedMeshSceneNode
COctreeSceneNode4 types4irr.scene.COctreeSceneNode
CCameraSceneNode5 types4irr.scene.CCameraSceneNode
CLightSceneNode4 types4irr.scene.CLightSceneNode
CBillboardSceneNode4 types4irr.scene.CBillboardSceneNode
CMeshSceneNode4 types4irr.scene.CMeshSceneNode
CSkyBoxSceneNode3 types3irr.scene.CSkyBoxSceneNode
CSkyDomeSceneNode3 types3irr.scene.CSkyDomeSceneNode
CParticleSystemSceneNode4 types4irr.scene.CParticleSystemSceneNode
CDummyTransformationSceneNode4 types4irr.scene.CDummyTransformationSceneNode
CWaterSurfaceSceneNode5 types5irr.scene.CWaterSurfaceSceneNode
CTerrainSceneNode4 types4irr.scene.CTerrainSceneNode
CEmptySceneNode3 types3irr.scene.CEmptySceneNode
CTextSceneNode4 types4irr.scene.CTextSceneNode
CBillboardTextSceneNode4 types5irr.scene.CBillboardTextSceneNode
CQuake3ShaderSceneNode4 types4irr.scene.CQuake3ShaderSceneNode
IVolumeLightSceneNode3 types3irr.scene.IVolumeLightSceneNode
CVolumeLightSceneNode4 types4irr.scene.CVolumeLightSceneNode
COctreeTriangleSelector3 types3irr.scene.COctreeTriangleSelector
CTriangleBBSelector3 types3irr.scene.CTriangleBBSelector
CMetaTriangleSelector3 types3irr.scene.CMetaTriangleSelector
CSceneNodeAnimatorRotation4 types3irr.scene.CSceneNodeAnimatorRotation
CSceneNodeAnimatorFlyCircle4 types3irr.scene.CSceneNodeAnimatorFlyCircle
CSceneNodeAnimatorFlyStraight4 types4irr.scene.CSceneNodeAnimatorFlyStraight
CSceneNodeAnimatorTexture4 types4irr.scene.CSceneNodeAnimatorTexture
CSceneNodeAnimatorCollisionResponse5 types4irr.scene.CSceneNodeAnimatorCollisionResponse
CSceneNodeAnimatorDelete4 types4irr.scene.CSceneNodeAnimatorDelete
CSceneNodeAnimatorFollowSpline4 types4irr.scene.CSceneNodeAnimatorFollowSpline
CAnimatedMeshMD24 types4irr.scene.CAnimatedMeshMD2
CAnimatedMeshMD34 types4irr.scene.CAnimatedMeshMD3
IQ3LevelMesh3 types3irr.scene.IQ3LevelMesh
CQ3LevelMesh4 types4irr.scene.CQ3LevelMesh
CLightPrefab3 types3irr.scene.CLightPrefab
CGeometryPrefab3 types3irr.scene.CGeometryPrefab
CCameraPrefab3 types3irr.scene.CCameraPrefab
CScenePrefab3 types3irr.scene.CScenePrefab
CBoneSceneNode3 types4irr.scene.CBoneSceneNode
IShadowVolumeSceneNode3 types3irr.scene.IShadowVolumeSceneNode
CShadowVolumeSceneNode4 types4irr.scene.CShadowVolumeSceneNode
CParticleAnimatedMeshSceneNodeEmitter4 types4irr.scene.CParticleAnimatedMeshSceneNodeEmitter
CParticleAttractionAffector4 types4irr.scene.CParticleAttractionAffector
CParticleBoxEmitter4 types4irr.scene.CParticleBoxEmitter
CParticleCylinderEmitter4 types4irr.scene.CParticleCylinderEmitter
CParticleFadeOutAffector4 types4irr.scene.CParticleFadeOutAffector
CParticleGravityAffector4 types4irr.scene.CParticleGravityAffector
CParticleMeshEmitter4 types4irr.scene.CParticleMeshEmitter
CParticlePointEmitter3 types3irr.scene.CParticlePointEmitter
CParticleRingEmitter4 types4irr.scene.CParticleRingEmitter
CParticleRotationAffector4 types4irr.scene.CParticleRotationAffector
CParticleScaleAffector3 types3irr.scene.CParticleScaleAffector
CParticleSphereEmitter4 types4irr.scene.CParticleSphereEmitter
CColorfAttribute3 types3irr.io.CColorfAttribute
CColorAttribute3 types3irr.io.CColorAttribute
CVector3DAttribute3 types3irr.io.CVector3DAttribute
CVector2DAttribute3 types3irr.io.CVector2DAttribute
CPosition2DAttribute3 types3irr.io.CPosition2DAttribute
CRectAttribute3 types3irr.io.CRectAttribute
CDimension2dAttribute3 types3irr.io.CDimension2dAttribute
CMatrixAttribute3 types3irr.io.CMatrixAttribute
CQuaternionAttribute3 types3irr.io.CQuaternionAttribute
CBBoxAttribute3 types3irr.io.CBBoxAttribute
CPlaneAttribute3 types3irr.io.CPlaneAttribute
CTriangleAttribute3 types3irr.io.CTriangleAttribute
CLine2dAttribute3 types3irr.io.CLine2dAttribute
CLine3dAttribute3 types3irr.io.CLine3dAttribute

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0666
Average:03.3
Minimum:02
Maximum:05
Standard deviation:00.55
Variance:00.3
warningCritical    Rule warning: Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

87 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)1 method0 type__Globals.CD3D9HLSLMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
CIrrDeviceStub(constirr::SIrrlichtCreationParameters&)3 methods2 typesirr.CIrrDeviceStub.CIrrDeviceStub (constirr::SIrrlichtCreationParameters&)
CSceneNodeAnimatorCameraFPS(gui::ICursorControl*,f32,f32,f32 ,irr::SKeyMap*,u32,bool,bool)1 method0 typeirr.scene.CSceneNodeAnimatorCameraFPS.CSceneNodeAnimatorCameraFPS (gui::ICursorControl*,f32,f32,f32,irr::SKeyMap*,u32,bool,bool)
ISceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)2 methods35 typesirr.scene.ISceneNode.ISceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CSceneNodeAnimatorCameraMaya(gui::ICursorControl*,f32,f32,f32,f32)1 method0 typeirr.scene.CSceneNodeAnimatorCameraMaya.CSceneNodeAnimatorCameraMaya (gui::ICursorControl*,f32,f32,f32,f32)
CSceneManager(video::IVideoDriver*,io::IFileSystem* ,gui::ICursorControl*,irr::scene::IMeshCache*,gui::IGUIEnvironment*)4 methods0 typeirr.scene.CSceneManager.CSceneManager(video::IVideoDriver* ,io::IFileSystem*,gui::ICursorControl*,irr::scene::IMeshCache* ,gui::IGUIEnvironment*)
CVertexBuffer(video::E_VERTEX_TYPE)1 method0 typeirr.scene.CVertexBuffer.CVertexBuffer(video::E_VERTEX_TYPE)
CVertexBuffer(constirr::scene::IVertexBuffer&)6 methods0 typeirr.scene.CVertexBuffer.CVertexBuffer(constirr::scene::IVertexBuffer&)
CIndexBuffer(video::E_INDEX_TYPE)1 method0 typeirr.scene.CIndexBuffer.CIndexBuffer(video::E_INDEX_TYPE)
CIndexBuffer(constirr::scene::IIndexBuffer&)6 methods0 typeirr.scene.CIndexBuffer.CIndexBuffer(constirr::scene::IIndexBuffer&)
CColladaMeshWriter(irr::scene::ISceneManager*,video::IVideoDriver* ,io::IFileSystem*)6 methods0 typeirr.scene.CColladaMeshWriter.CColladaMeshWriter (irr::scene::ISceneManager*,video::IVideoDriver*,io::IFileSystem*)
CSphereSceneNode(f32,u32,u32,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CSphereSceneNode.CSphereSceneNode(f32,u32,u32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CAnimatedMeshSceneNode(irr::scene::IAnimatedMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CAnimatedMeshSceneNode.CAnimatedMeshSceneNode (irr::scene::IAnimatedMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CCameraSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CCameraSceneNode.CCameraSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&)
CLightSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,video::SColorf,f32)1 method0 typeirr.scene.CLightSceneNode.CLightSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df&,video::SColorf ,f32)
CBillboardSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)1 method0 typeirr.scene.CBillboardSceneNode.CBillboardSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)
CMeshSceneNode(irr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)1 method1 typeirr.scene.CMeshSceneNode.CMeshSceneNode(irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)1 method0 typeirr.scene.CSkyBoxSceneNode.CSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32)
CParticleSystemSceneNode(bool,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CParticleSystemSceneNode.CParticleSystemSceneNode(bool ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CWaterSurfaceSceneNode(f32,f32,f32,irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CWaterSurfaceSceneNode.CWaterSurfaceSceneNode(f32,f32,f32 ,irr::scene::IMesh*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& )
CTerrainSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,io::IFileSystem*,s32,s32,irr::scene::E_TERRAIN_PATCH_SIZE ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CTerrainSceneNode.CTerrainSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,io::IFileSystem*,s32,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CBillboardTextSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,gui::IGUIFont*,constwchar_t* ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)6 methods0 typeirr.scene.CBillboardTextSceneNode.CBillboardTextSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,gui::IGUIFont* ,constwchar_t*,constcore::vector3df&,constcore::dimension2d<f32>& ,video::SColor,video::SColor)
CQuake3ShaderSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,io::IFileSystem* ,constirr::scene::IMeshBuffer*,constquake3::IShader*)1 method0 typeirr.scene.CQuake3ShaderSceneNode.CQuake3ShaderSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,io::IFileSystem*,constirr::scene::IMeshBuffer*,constquake3::IShader*)
CTriangleSelector(constirr::scene::IMesh*,irr::scene::ISceneNode*)1 method2 typesirr.scene.CTriangleSelector.CTriangleSelector(constirr::scene::IMesh* ,irr::scene::ISceneNode*)
CTriangleSelector(irr::scene::IAnimatedMeshSceneNode*)4 methods2 typesirr.scene.CTriangleSelector.CTriangleSelector (irr::scene::IAnimatedMeshSceneNode*)
CTerrainTriangleSelector(irr::scene::ITerrainSceneNode*,s32)1 method0 typeirr.scene.CTerrainTriangleSelector.CTerrainTriangleSelector (irr::scene::ITerrainSceneNode*,s32)
CAnimatedMeshMD3()1 method0 typeirr.scene.CAnimatedMeshMD3.CAnimatedMeshMD3()
CQ3LevelMesh(io::IFileSystem*,scene::ISceneManager* ,constquake3::Q3LevelLoadParameter&)1 method0 typeirr.scene.CQ3LevelMesh.CQ3LevelMesh(io::IFileSystem* ,scene::ISceneManager*,constquake3::Q3LevelLoadParameter&)
CBoneSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,u32,constc8*)1 method0 typeirr.scene.CBoneSceneNode.CBoneSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,u32,constc8*)
CShadowVolumeSceneNode(constirr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,bool,f32)1 method0 typeirr.scene.CShadowVolumeSceneNode.CShadowVolumeSceneNode (constirr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,bool,f32)
CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)1 method0 typeirr.scene.CParticleAnimatedMeshSceneNodeEmitter .CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleMeshEmitter(irr::scene::IMesh*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)1 method0 typeirr.scene.CParticleMeshEmitter.CParticleMeshEmitter(irr::scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
CBoolAttribute(constchar*,bool)1 method0 typeirr.io.CBoolAttribute.CBoolAttribute(constchar*,bool)
CIntAttribute(constchar*,s32)1 method0 typeirr.io.CIntAttribute.CIntAttribute(constchar*,s32)
CFloatAttribute(constchar*,f32)1 method0 typeirr.io.CFloatAttribute.CFloatAttribute(constchar*,f32)
CEnumAttribute(constchar*,constchar*,constchar*const*)1 method0 typeirr.io.CEnumAttribute.CEnumAttribute(constchar*,constchar* ,constchar*const*)
CStringAttribute(constchar*,constchar*)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,constchar*)
CStringAttribute(constchar*,constwchar_t*)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,constwchar_t*)
CStringAttribute(constchar*,void*,s32)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,void*,s32)
CTextureAttribute(constchar*,video::ITexture*,video::IVideoDriver* ,constio::path&)1 method0 typeirr.io.CTextureAttribute.CTextureAttribute(constchar*,video::ITexture* ,video::IVideoDriver*,constio::path&)
CStringWArrayAttribute(constchar*,constcore::array<core::stringw>&)1 method0 typeirr.io.CStringWArrayAttribute.CStringWArrayAttribute(constchar* ,constcore::array<core::stringw>&)
CFileSystem()2 methods0 typeirr.io.CFileSystem.CFileSystem()
CZipReader(irr::io::IReadFile*,bool,bool,bool)2 methods0 typeirr.io.CZipReader.CZipReader(irr::io::IReadFile*,bool,bool,bool)
CMountPointReader(irr::io::IFileSystem*,constio::path&,bool,bool)3 methods0 typeirr.io.CMountPointReader.CMountPointReader(irr::io::IFileSystem* ,constio::path&,bool,bool)
CPakReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CPakReader.CPakReader(irr::io::IReadFile*,bool,bool)
CNPKReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CNPKReader.CNPKReader(irr::io::IReadFile*,bool,bool)
CTarReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CTarReader.CTarReader(irr::io::IReadFile*,bool,bool)
CWADReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CWADReader.CWADReader(irr::io::IReadFile*,bool,bool)
CGUIColorSelectDialog(constwchar_t*,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32)18 methods0 typeirr.gui.CGUIColorSelectDialog.CGUIColorSelectDialog(constwchar_t* ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32)
CGUIComboBox(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)13 methods0 typeirr.gui.CGUIComboBox.CGUIComboBox(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIListBox(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool,bool)6 methods0 typeirr.gui.CGUIListBox.CGUIListBox(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool,bool)
CGUIContextMenu(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool)2 methods1 typeirr.gui.CGUIContextMenu.CGUIContextMenu(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool)
CGUIEditBox(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&)1 method0 typeirr.gui.CGUIEditBox.CGUIEditBox(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&)
CGUIEnvironment(io::IFileSystem*,video::IVideoDriver* ,irr::IOSOperator*)4 methods0 typeirr.gui.CGUIEnvironment.CGUIEnvironment(io::IFileSystem* ,video::IVideoDriver*,irr::IOSOperator*)
CGUIWindow(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)6 methods1 typeirr.gui.CGUIWindow.CGUIWindow(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIScrollBar(bool,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,s32,core::rect<s32>,bool)1 method0 typeirr.gui.CGUIScrollBar.CGUIScrollBar(bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool)
CGUIFont(irr::gui::IGUIEnvironment*,constio::path&)4 methods0 typeirr.gui.CGUIFont.CGUIFont(irr::gui::IGUIEnvironment*,constio::path&)
CGUISpriteBank(irr::gui::IGUIEnvironment*)1 method0 typeirr.gui.CGUISpriteBank.CGUISpriteBank(irr::gui::IGUIEnvironment*)
CGUITreeView(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool,bool,bool)4 methods0 typeirr.gui.CGUITreeView.CGUITreeView(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool,bool,bool)
CGUIFileOpenDialog(constwchar_t*,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,bool,io::path::char_type*)15 methods0 typeirr.gui.CGUIFileOpenDialog.CGUIFileOpenDialog(constwchar_t* ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,bool ,io::path::char_type*)
CGUIStaticText(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&,bool)2 methods0 typeirr.gui.CGUIStaticText.CGUIStaticText(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&,bool)
CGUISpinBox(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&)3 methods0 typeirr.gui.CGUISpinBox.CGUISpinBox(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&)
CGUIInOutFader(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)1 method0 typeirr.gui.CGUIInOutFader.CGUIInOutFader(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIMessageBox(irr::gui::IGUIEnvironment*,constwchar_t*,constwchar_t* ,s32,irr::gui::IGUIElement*,s32,core::rect<s32>,video::ITexture*)5 methods0 typeirr.gui.CGUIMessageBox.CGUIMessageBox(irr::gui::IGUIEnvironment* ,constwchar_t*,constwchar_t*,s32,irr::gui::IGUIElement*,s32,core::rect <s32>,video::ITexture*)
CGUITab(s32,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,constcore::rect<s32>&,s32)2 methods0 typeirr.gui.CGUITab.CGUITab(s32,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,constcore::rect<s32>&,s32)
CGUITabControl(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,constcore::rect<s32>&,bool,bool,s32)10 methods0 typeirr.gui.CGUITabControl.CGUITabControl(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,constcore::rect<s32>&,bool,bool,s32)
CGUIMenu(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)1 method0 typeirr.gui.CGUIMenu.CGUIMenu(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIToolBar(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)3 methods0 typeirr.gui.CGUIToolBar.CGUIToolBar(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUITable(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,constcore::rect<s32>&,bool,bool,bool)3 methods0 typeirr.gui.CGUITable.CGUITable(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&,bool,bool,bool)
CNullDriver(io::IFileSystem*,constcore::dimension2d<u32>&)4 methods4 typesirr.video.CNullDriver.CNullDriver(io::IFileSystem* ,constcore::dimension2d<u32>&)
CSoftwareDriver(constcore::dimension2d<u32>&,bool,io::IFileSystem* ,video::IImagePresenter*)3 methods0 typeirr.video.CSoftwareDriver.CSoftwareDriver(constcore::dimension2d<u32>& ,bool,io::IFileSystem*,video::IImagePresenter*)
CSoftwareTexture(irr::video::IImage*,constio::path&,bool,void*)3 methods0 typeirr.video.CSoftwareTexture.CSoftwareTexture(irr::video::IImage* ,constio::path&,bool,void*)
CSoftwareTexture2(irr::video::IImage*,constio::path&,u32,void*)6 methods0 typeirr.video.CSoftwareTexture2.CSoftwareTexture2(irr::video::IImage* ,constio::path&,u32,void*)
CZBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CZBuffer.CZBuffer(constcore::dimension2d<u32>&)
COpenGLTexture(irr::video::IImage*,constio::path&,void* ,irr::video::COpenGLDriver*)4 methods2 typesirr.video.COpenGLTexture.COpenGLTexture(irr::video::IImage* ,constio::path&,void*,irr::video::COpenGLDriver*)
COpenGLFBOTexture(constcore::dimension2d<u32>&,constio::path& ,irr::video::COpenGLDriver*,irr::video::ECOLOR_FORMAT)3 methods0 typeirr.video.COpenGLFBOTexture.COpenGLFBOTexture(constcore::dimension2d <u32>&,constio::path&,irr::video::COpenGLDriver* ,irr::video::ECOLOR_FORMAT)
COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*,s32&,constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)1 method0 typeirr.video.COpenGLSLMaterialRenderer.COpenGLSLMaterialRenderer (irr::video::COpenGLDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
COpenGLNormalMapRenderer(video::COpenGLDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.COpenGLNormalMapRenderer.COpenGLNormalMapRenderer (video::COpenGLDriver*,s32&,irr::video::IMaterialRenderer*)
COpenGLParallaxMapRenderer(video::COpenGLDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.COpenGLParallaxMapRenderer.COpenGLParallaxMapRenderer (video::COpenGLDriver*,s32&,irr::video::IMaterialRenderer*)
CD3D9Texture(irr::video::IImage*,irr::video::CD3D9Driver*,u32 ,constio::path&,void*)3 methods0 typeirr.video.CD3D9Texture.CD3D9Texture(irr::video::IImage* ,irr::video::CD3D9Driver*,u32,constio::path&,void*)
CD3D9Texture(irr::video::CD3D9Driver*,constcore::dimension2d<u32>& ,constio::path&,constirr::video::ECOLOR_FORMAT)1 method0 typeirr.video.CD3D9Texture.CD3D9Texture(irr::video::CD3D9Driver* ,constcore::dimension2d<u32>&,constio::path& ,constirr::video::ECOLOR_FORMAT)
CD3D9NormalMapRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.CD3D9NormalMapRenderer.CD3D9NormalMapRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)
CD3D9ParallaxMapRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.CD3D9ParallaxMapRenderer.CD3D9ParallaxMapRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)
CDepthBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CDepthBuffer.CDepthBuffer(constcore::dimension2d<u32>&)
CStencilBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CStencilBuffer.CStencilBuffer(constcore::dimension2d<u32>&)
IBurningShader(irr::video::CBurningVideoDriver*)2 methods21 typesirr.video.IBurningShader.IBurningShader (irr::video::CBurningVideoDriver*)
CBurningVideoDriver(constirr::SIrrlichtCreationParameters& ,io::IFileSystem*,video::IImagePresenter*)5 methods0 typeirr.video.CBurningVideoDriver.CBurningVideoDriver (constirr::SIrrlichtCreationParameters&,io::IFileSystem* ,video::IImagePresenter*)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

2 fields matched

fieldsassignedByFull Name
Logger1 methodirr.os.Printer.Logger
NDCPlane1 methodirr.video.CBurningVideoDriver.NDCPlane

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

51 types matched

typesmethodsAndGettersFull Name
ITimer12 methodsirr.ITimer
IrrlichtDevice39 methodsirr.IrrlichtDevice
ISceneNodeAnimatorCameraFPS11 methodsirr.scene.ISceneNodeAnimatorCameraFPS
ISceneNode56 methodsirr.scene.ISceneNode
ICameraSceneNode30 methodsirr.scene.ICameraSceneNode
ISceneNodeAnimatorCollisionResponse22 methodsirr.scene.ISceneNodeAnimatorCollisionResponse
IMeshBuffer29 methodsirr.scene.IMeshBuffer
ISkinnedMesh23 methodsirr.scene.ISkinnedMesh
ISceneManager101 methodsirr.scene.ISceneManager
IGeometryCreator11 methodsirr.scene.IGeometryCreator
ITerrainSceneNode20 methodsirr.scene.ITerrainSceneNode
IAnimatedMeshSceneNode28 methodsirr.scene.IAnimatedMeshSceneNode
IParticleEmitter24 methodsirr.scene.IParticleEmitter
IParticleAnimatedMeshSceneNodeEmitter11 methodsirr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleCylinderEmitter13 methodsirr.scene.IParticleCylinderEmitter
IParticleMeshEmitter11 methodsirr.scene.IParticleMeshEmitter
IParticleAttractionAffector13 methodsirr.scene.IParticleAttractionAffector
IParticleSystemSceneNode23 methodsirr.scene.IParticleSystemSceneNode
ILightSceneNode12 methodsirr.scene.ILightSceneNode
IMeshCache20 methodsirr.scene.IMeshCache
IMeshManipulator36 methodsirr.scene.IMeshManipulator
CVertexBuffer+IVertexList12 methodsirr.scene.CVertexBuffer+IVertexList
CIndexBuffer+IIndexList13 methodsirr.scene.CIndexBuffer+IIndexList
IVolumeLightSceneNode11 methodsirr.scene.IVolumeLightSceneNode
IIrrXMLReader<char_type,super_class>17 methodsirr.io.IIrrXMLReader<char_type,super_class>
IAttributes140 methodsirr.io.IAttributes
IFileList13 methodsirr.io.IFileList
IFileSystem40 methodsirr.io.IFileSystem
IAttribute58 methodsirr.io.IAttribute
ICursorControl18 methodsirr.gui.ICursorControl
IGUISkin25 methodsirr.gui.IGUISkin
IGUIEnvironment62 methodsirr.gui.IGUIEnvironment
IGUIFont11 methodsirr.gui.IGUIFont
IGUISpriteBank12 methodsirr.gui.IGUISpriteBank
IGUIButton21 methodsirr.gui.IGUIButton
IGUIComboBox14 methodsirr.gui.IGUIComboBox
IGUIContextMenu24 methodsirr.gui.IGUIContextMenu
IGUIEditBox23 methodsirr.gui.IGUIEditBox
IGUIListBox28 methodsirr.gui.IGUIListBox
IGUIScrollBar12 methodsirr.gui.IGUIScrollBar
IGUISpinBox11 methodsirr.gui.IGUISpinBox
IGUIStaticText24 methodsirr.gui.IGUIStaticText
IGUITabControl20 methodsirr.gui.IGUITabControl
IGUIWindow12 methodsirr.gui.IGUIWindow
IGUITreeViewNode40 methodsirr.gui.IGUITreeViewNode
IGUITreeView12 methodsirr.gui.IGUITreeView
IImage26 methodsirr.video.IImage
ITexture15 methodsirr.video.ITexture
IVideoDriver123 methodsirr.video.IVideoDriver
IGPUProgrammingServices15 methodsirr.video.IGPUProgrammingServices
IMaterialRendererServices12 methodsirr.video.IMaterialRendererServices

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Design  

warningCritical    Rule warning: Avoid namespaces with few types
// <Name>Avoid namespaces with few types</Name>
warnif count > 0 from n in JustMyCode.Namespaces 
let types = n.ChildTypes.Where(t => !t.IsGeneratedByCompiler)
where 
  
types.Count() < 5 
  
orderby types.Count() ascending
select new { n, types } 

// Make sure that there is a logical organization 
// to each of your namespaces, and that there is a 
// valid reason for putting types in a sparsely 
// populated namespace. Namespaces should contain 
// types that are used together in most scenarios. 
// When their applications are mutually exclusive, 
// types should be located in separate namespaces

13 namespaces matched

namespacestypesFull Name
irr.scene.anonymous_namespace{c3dsmeshfileloader.cpp}1 typeirr.scene.anonymous_namespace{c3dsmeshfileloader.cpp}
irr.scene.anonymous_namespace{ccolladafileloader.cpp}1 typeirr.scene.anonymous_namespace{ccolladafileloader.cpp}
irr.scene.anonymous_namespace{cogremeshfileloader.cpp}1 typeirr.scene.anonymous_namespace{cogremeshfileloader.cpp}
irr.io.anonymous_namespace{cnpkreader.cpp}1 typeirr.io.anonymous_namespace{cnpkreader.cpp}
irr.io.anonymous_namespace{cpakreader.cpp}1 typeirr.io.anonymous_namespace{cpakreader.cpp}
irr.io.anonymous_namespace{czipreader.cpp}1 typeirr.io.anonymous_namespace{czipreader.cpp}
irr.video.anonymous_namespace{cd3d9materialrenderer.h}1 typeirr.video.anonymous_namespace{cd3d9materialrenderer.h}
irr.video.anonymous_namespace{cd3d9driver.cpp}1 typeirr.video.anonymous_namespace{cd3d9driver.cpp}
irr.anonymous_namespace{cirrdevicestub.cpp}1 typeirr.anonymous_namespace{cirrdevicestub.cpp}
irr.io.anonymous_namespace{cnpkreader.h}2 typesirr.io.anonymous_namespace{cnpkreader.h}
irr.gui.anonymous_namespace{cguicolorselectdialog.cpp}2 typesirr.gui.anonymous_namespace{cguicolorselectdialog.cpp}
anonymous_namespace{cirrdevicewin32.cpp}2 typesanonymous_namespace{cirrdevicewin32.cpp}
irr.scene.anonymous_namespace{cmeshmanipulator.cpp}4 typesirr.scene.anonymous_namespace{cmeshmanipulator.cpp}

Statistics

Stat   types
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Nested types should not be visible
// <Name>Nested types should not be visible</Name>
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsNested && 
 
!t.IsGeneratedByCompiler &&
 
!t.IsPrivate 
select new { t, t.NbLinesOfCode, t.Visibility } 


// A nested type is a type declared within the 
// scope of another type. Nested types are useful 
// for encapsulating private implementation details 
// of the containing type. Used for this purpose, 
// nested types should not be externally visible. 
// Do not use externally visible nested types for 
// logical grouping or to avoid name collisions; 
// instead, use namespaces.

91 types matched

types# lines of code (LOC)VisibilityFull Name
jpeg_error_mgr+Anonymous0Publicjpeg_error_mgr+Anonymous
ct_data_s+Anonymous0Publicct_data_s+Anonymous
ct_data_s+Anonymous0Publicct_data_s+Anonymous
small_pool_struct+Anonymous0Publicsmall_pool_struct+Anonymous
large_pool_struct+Anonymous0Publiclarge_pool_struct+Anonymous
sha2_ctx+Anonymous0Publicsha2_ctx+Anonymous
SEvent+SGUIEvent0Publicirr.SEvent+SGUIEvent
SEvent+SMouseInput3Publicirr.SEvent+SMouseInput
SEvent+SKeyInput0Publicirr.SEvent+SKeyInput
SEvent+SJoystickEvent3Publicirr.SEvent+SJoystickEvent
SEvent+SJoystickEvent+AnonymousEnumN/APublicirr.SEvent+SJoystickEvent+AnonymousEnum
SEvent+SLogEvent0Publicirr.SEvent+SLogEvent
SEvent+SUserEvent0Publicirr.SEvent+SUserEvent
SEvent+Anonymous0Publicirr.SEvent+Anonymous
SJoystickInfo+AnonymousEnumN/APublicirr.SJoystickInfo+AnonymousEnum
ITimer+EWeekdayN/APublicirr.ITimer+EWeekday
ITimer+RealTimeDate0Publicirr.ITimer+RealTimeDate
Octree<T>+SMeshChunk2Publicirr.Octree<T>+SMeshChunk
Octree<T>+SIndexChunk0Publicirr.Octree<T>+SIndexChunk
Octree<T>+SIndexData0Publicirr.Octree<T>+SIndexData
CIrrDeviceStub+SMouseMultiClicks4Protectedirr.CIrrDeviceStub+SMouseMultiClicks
CIrrDeviceWin32+CCursorControl173Publicirr.CIrrDeviceWin32+CCursorControl
CIrrDeviceConsole+CCursorControl35Publicirr.CIrrDeviceConsole+CCursorControl
SJoystickWin32Control+JoystickInfo0Publicirr.SJoystickWin32Control+JoystickInfo
CMatrix4<T>+eConstructorN/APublicirr.core.CMatrix4<T>+eConstructor
list<T>+Iterator29Publicirr.core.list<T>+Iterator
list<T>+ConstIterator32Publicirr.core.list<T>+ConstIterator
map<KeyType,ValueType>+RBTree41Publicirr.core.map<KeyType,ValueType>+RBTree
map<KeyType,ValueType>+Iterator47Publicirr.core.map<KeyType,ValueType>+Iterator
map<KeyType,ValueType>+ConstIterator49Publicirr.core.map<KeyType,ValueType>+ConstIterator
map<KeyType,ValueType>+ParentFirstIterator28Publicirr.core.map<KeyType,ValueType>+ParentFirstIterator
map<KeyType,ValueType>+ParentLastIterator28Publicirr.core.map<KeyType,ValueType>+ParentLastIterator
map<KeyType,ValueType>+AccessClass7Publicirr.core.map<KeyType,ValueType>+AccessClass
ISkinnedMesh+SWeight0Publicirr.scene.ISkinnedMesh+SWeight
ISkinnedMesh+SPositionKey0Publicirr.scene.ISkinnedMesh+SPositionKey
ISkinnedMesh+SScaleKey0Publicirr.scene.ISkinnedMesh+SScaleKey
ISkinnedMesh+SRotationKey0Publicirr.scene.ISkinnedMesh+SRotationKey
ISkinnedMesh+SJoint5Publicirr.scene.ISkinnedMesh+SJoint
CMeshCache+MeshEntry2Protectedirr.scene.CMeshCache+MeshEntry
CVertexBuffer+CSpecificVertexList10Publicirr.scene.CVertexBuffer+CSpecificVertexList
CIndexBuffer+CSpecificIndexList14Publicirr.scene.CIndexBuffer+CSpecificIndexList
SHalflifeAnimationFrame+Anonymous0Publicirr.scene.SHalflifeAnimationFrame+Anonymous
STextureAtlas+TextureAtlasEntry1Publicirr.scene.STextureAtlas+TextureAtlasEntry
CXMeshFileLoader+SXTemplateMaterial0Publicirr.scene.CXMeshFileLoader+SXTemplateMaterial
CXMeshFileLoader+SXMesh6Publicirr.scene.CXMeshFileLoader+SXMesh
CPLYMeshFileLoader+SPLYProperty+Anonymous0Publicirr.scene.CPLYMeshFileLoader+SPLYProperty+Anonymous
CPLYMeshFileLoader+SPLYProperty+Anonymous+SPLYListProperty0Publicirr.scene.CPLYMeshFileLoader+SPLYProperty+Anonymous+SPLYListProperty
CColladaMeshWriter+SComponentGlobalStartPos8Protectedirr.scene.CColladaMeshWriter+SComponentGlobalStartPos
CColladaMeshWriter+SGeometryMeshMaterials6Protectedirr.scene.CColladaMeshWriter+SGeometryMeshMaterials
CColladaMeshWriter+SColladaMesh13Protectedirr.scene.CColladaMeshWriter+SColladaMesh
CColladaMeshWriter+SColladaLight0Protectedirr.scene.CColladaMeshWriter+SColladaLight
CColladaMeshWriter+MaterialName2Protectedirr.scene.CColladaMeshWriter+MaterialName
SViewFrustum+VFPLANESN/APublicirr.scene.SViewFrustum+VFPLANES
CAnimatedMeshMD2+SAnimationData0Publicirr.scene.CAnimatedMeshMD2+SAnimationData
CAnimatedMeshMD2+SKeyFrameTransform0Publicirr.scene.CAnimatedMeshMD2+SKeyFrameTransform
CAnimatedMeshMD2+SMD2Vert0Publicirr.scene.CAnimatedMeshMD2+SMD2Vert
Header+E_CSM_VERSIONN/APublicirr.scene.Header+E_CSM_VERSION
CPLYMeshFileLoader+SPLYProperty+Anonymous0Publicirr.scene.CPLYMeshFileLoader+SPLYProperty+Anonymous
CPLYMeshFileLoader+SPLYProperty+Anonymous+SPLYListProperty0Publicirr.scene.CPLYMeshFileLoader+SPLYProperty+Anonymous+SPLYListProperty
SModifierFunction+Anonymous0Publicirr.scene.quake3.SModifierFunction+Anonymous
SModifierFunction+Anonymous0Publicirr.scene.quake3.SModifierFunction+Anonymous
SModifierFunction+Anonymous0Publicirr.scene.quake3.SModifierFunction+Anonymous
SModifierFunction+Anonymous0Publicirr.scene.quake3.SModifierFunction+Anonymous
CXMLWriter+XMLSpecialCharacters0Publicirr.io.CXMLWriter+XMLSpecialCharacters
CGUIListBox+ListItem+ListItemOverrideColor1Publicirr.gui.CGUIListBox+ListItem+ListItemOverrideColor
CGUIContextMenu+SItem0Protectedirr.gui.CGUIContextMenu+SItem
CGUISpriteBank+SDrawBatch0Protectedirr.gui.CGUISpriteBank+SDrawBatch
SExposedVideoData+Anonymous0Publicirr.video.SExposedVideoData+Anonymous
SExposedVideoData+Anonymous+Anonymous0Publicirr.video.SExposedVideoData+Anonymous+Anonymous
SExposedVideoData+Anonymous+Anonymous0Publicirr.video.SExposedVideoData+Anonymous+Anonymous
SExposedVideoData+Anonymous+Anonymous0Publicirr.video.SExposedVideoData+Anonymous+Anonymous
SExposedVideoData+Anonymous+Anonymous0Publicirr.video.SExposedVideoData+Anonymous+Anonymous
CNullDriver+SHWBufferLink10Protectedirr.video.CNullDriver+SHWBufferLink
CNullDriver+SSurface1Protectedirr.video.CNullDriver+SSurface
CNullDriver+SMaterialRenderer0Protectedirr.video.CNullDriver+SMaterialRenderer
CNullDriver+SDummyTexture7Protectedirr.video.CNullDriver+SDummyTexture
CNullDriver+SOccQuery31Protectedirr.video.CNullDriver+SOccQuery
CNullDriver+SOccQuery+Anonymous0Publicirr.video.CNullDriver+SOccQuery+Anonymous
CSoftwareTexture2+eTex2FlagsN/APublicirr.video.CSoftwareTexture2+eTex2Flags
COpenGLExtensionHandler+EOpenGLFeaturesN/APublicirr.video.COpenGLExtensionHandler+EOpenGLFeatures
COpenGLDriver+SHWBufferLink_opengl2Publicirr.video.COpenGLDriver+SHWBufferLink_opengl
COpenGLSLMaterialRenderer+SUniformInfo0Protectedirr.video.COpenGLSLMaterialRenderer+SUniformInfo
CD3D9Driver+SHWBufferLink_d3d94Publicirr.video.CD3D9Driver+SHWBufferLink_d3d9
sVec4+Anonymous0Publicirr.video.sVec4+Anonymous
sVec4+Anonymous+Anonymous0Publicirr.video.sVec4+Anonymous+Anonymous
sVec4+Anonymous+Anonymous0Publicirr.video.sVec4+Anonymous+Anonymous
sVec3+Anonymous0Publicirr.video.sVec3+Anonymous
sVec3+Anonymous+Anonymous0Publicirr.video.sVec3+Anonymous+Anonymous
sVec3+Anonymous+Anonymous0Publicirr.video.sVec3+Anonymous+Anonymous
CBurningVideoDriver+E_TRANSFORMATION_STATE_BURNING_VIDEON/AProtectedirr.video.CBurningVideoDriver+E_TRANSFORMATION_STATE_BURNING_VIDEO
CBurningVideoDriver+E_TRANSFORMATION_FLAGN/AProtectedirr.video.CBurningVideoDriver+E_TRANSFORMATION_FLAG

Statistics

Stat   # lines of code (LOC)   Visibility
Sum:6040
Average:7.460
Minimum:00
Maximum:1730
Standard deviation:21.720
Variance:471.950

330
Architecture and Layering  

warningCritical    Rule warning: Avoid namespaces mutually dependent
// <Name>Avoid namespaces mutually dependent</Name>
warnif count > 0
// Foreach pair of namespace mutually dependent, this rule lists pairs.
// The pair { first, second } is formatted to show that first namespace shouldn't use the second namespace.
// The first/second order is inferred from the number of types used by each other.
// The first namespace is using less types of the second.
// It means that the first namespace is certainly at a lower level in the architecture, than the second.
// To explore the coupling between the two namespaces, you can export:
//  - typesOfFirstUsedBySecond to the vertical header of the dependency matrix
//  - typesOfSecondUsedByFirst to the horizontal header of the dependency matrix
//
// Following these advices is useful to avoid namespaces dependency cycles.
// More on this in our white books relative to partitionning code.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects.Where(a => a.ContainsNamespaceDependencyCycle != null && a.ContainsNamespaceDependencyCycle.Value)

// hashset is used to avoid reporting both A <-> B and B <-> A
let hashset = new HashSet<INamespace>()

// Optimization: restreint namespaces set
// If a namespace doesn't have a Level value, it must be in a dependency cycle
// or it must be using directly or indirectly a dependency cycle.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

from nA in namespacesSuspect

// Select namespaces mutually dependent with nA
let unused = hashset.Add(nA) // Populate hashset
let namespacesMutuallyDependentWith_nA = nA.NamespacesUsed.Using(nA)
          
.Except(hashset) // <-- avoid reporting both A <-> B and B <-> A 
where namespacesMutuallyDependentWith_nA.Count() > 0

from nB in namespacesMutuallyDependentWith_nA

// nA and nB are mutually dependent
// Select first the one that shouldn't use the other.
// The first namespace is inferred from the fact that it is using less types of the second.
let typesOfBUsedByA = nB.ChildTypes.UsedBy(nA)
let typesOfAUsedByB = nA.ChildTypes.UsedBy(nB)
let first = (typesOfBUsedByA.Count() > typesOfAUsedByB.Count()) ? nB : nA
let second = (first == nA) ? nB : nA
let typesOfFirstUsedBySecond = (first == nA) ? typesOfAUsedByB : typesOfBUsedByA
let typesOfSecondUsedByFirst = (first == nA) ? typesOfBUsedByA : typesOfAUsedByB
select new { first, shouldntUse = second, typesOfFirstUsedBySecond, typesOfSecondUsedByFirst }

15 namespaces matched

namespacesshouldntUsetypesOfFirstUsedBySecondtypesOfSecondUsedByFirstFull Name
irr0 type0 type
irr.video6 types0 type
irrirr.gui12 types9 typesirr
irrirr.scene14 types4 typesirr
irr.videoirr11 types4 typesirr.video
irrirr.os4 types2 typesirr
irrirr.io2 types1 typeirr
irrirr.anonymous_namespace{cirrdevicestub.cpp}2 types1 typeirr
irranonymous_namespace{cirrdevicewin32.cpp}1 type1 typeirr
irr.guiirr.scene7 types4 typesirr.gui
irr.videoirr.scene30 types12 typesirr.video
irr.scene.anonymous_namespace{cmeshmanipulator.cpp}irr.scene3 types0 typeirr.scene.anonymous_namespace{cmeshmanipulator.cpp}
irr.ioirr.video8 types4 typesirr.io
irr.ioirr.io.anonymous_namespace{cpakreader.cpp}0 type0 typeirr.io
irr.videoirr.video.glsl3 types0 typeirr.video

Statistics

Stat   shouldntUse   typesOfFirstUsedBySecond   typesOfSecondUsedByFirst
Sum:000
Average:000
Minimum:000
Maximum:000
Standard deviation:000
Variance:000
warningCritical    Rule warning: Avoid namespaces dependency cycles
// <Name>Avoid namespaces dependency cycles</Name>
warnif count > 0
// This query lists all application namespaces dependency cyles.
// Each row shows a different cycle, prefixed with a namespace entangled in the cycle.
//
// To browse a cycle on the dependency graph or the dependency matrix, just right click
// a cycle cell and export namespaces matched to the dependency graph or matrix!
//
// In the matrix, dependency cycles are represented with red squares and black cells.
// To browse easily dependency cycles, the Matrix comes with the option:
//   --> Display Direct and Indirect Dependencies
//
// Read our white books relative to partitionning code, 
// to know more about namespaces dependency cycles, and why avoiding them 
// is a simple but efficient solution to architecture well your code base.
// http://www.cppdepend.com/WhiteBooks.aspx


// Optimization: restreint application Projects set
// If some namespaces are mutually dependent
//  - They must be declared in the same project
//  - The parent project must ContainsNamespaceDependencyCycle
from project in Application.Projects
                 
.Where(a => a.ContainsNamespaceDependencyCycle != null && 
                             
a.ContainsNamespaceDependencyCycle.Value)

// Optimization: restreint namespaces set
// A namespace involved in a cycle necessarily have a null Level.
let namespacesSuspect = project.ChildNamespaces.Where(n => n.Level == null)

// hashset is used to avoid iterating again on namespaces already caught in a cycle.
let hashset = new HashSet<INamespace>()


from suspect in namespacesSuspect
   
// By commenting this line, the query matches all namespaces involved in a cycle.
   where !hashset.Contains(suspect)

   
// Define 2 code metrics
   // - Namespaces depth of is using indirectly the suspect namespace.
   // - Namespaces depth of is used by the suspect namespace indirectly.
   // Note: for direct usage the depth is equal to 1.
   let namespacesUserDepth = namespacesSuspect.DepthOfIsUsing(suspect)
   
let namespacesUsedDepth = namespacesSuspect.DepthOfIsUsedBy(suspect)

   
// Select namespaces that are both using and used by namespaceSuspect
   let usersAndUsed = from n in namespacesSuspect where 
                         
namespacesUserDepth[n] > 0 && 
                         
namespacesUsedDepth[n] > 0 
                      
select n

   
where usersAndUsed.Count() > 0

   
// Here we've found namespace(s) both using and used by the suspect namespace.
   // A cycle involving the suspect namespace is found!
   let cycle = usersAndUsed.Concat(new[] { suspect  })

   
// Fill hashset with namespaces in the cycle.
   // .ToArray() is needed to force the iterating process.
   let unused1 = (from n in cycle let unused2 = hashset.Add(n) select n).ToArray()

select new { suspect, cycle }

1 namespaces matched

namespacecycleFull Name
15 namespaces

Statistics

Stat   cycle
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Projects with poor cohesion (RelationalCohesion)
// <Name>Projects with poor cohesion (RelationalCohesion)</Name>
warnif count > 0 from a in Application.Projects where 
  
a.NbTypes > 20 && // Relational Cohesion metrics is relevant only if there are several types 
  (a.RelationalCohesion < 1.5 || 
   
a.RelationalCohesion > 4.0)
select new { a, a.NbTypes, a.RelationalCohesion }

// As classes inside an project should be strongly related, 
// the cohesion should be high. On the other hand, a value 
// which is too high may indicate over-coupling. A good range 
// for RelationalCohesion is 1.5 to 4.0.
// See the definition of the RelationalCohesion metric here 
// http://www.cppdepend.com/Metrics.aspx#RelationalCohesion

1 projects matched

project# TypesRelational cohesionFull Name
Irrlicht1 0676.26Irrlicht

Statistics

Stat   # Types   Relational cohesion
Sum:1 0676.26
Average:1 0676.26
Minimum:1 0676.26
Maximum:1 0676.26
Standard deviation:00
Variance:00

120
Best Practices  

warningCritical    Rule warning: Use reinterpret_cast carrefully

        
// <Name>Use reinterpret_cast carrefully</Name> 
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.reinterpret_cast")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
setWindowCaption(constwchar_t*)4irr.CIrrDeviceWin32.setWindowCaption(constwchar_t*)
present(video::IImage*,void*,core::rect<s32>*)30irr.CIrrDeviceWin32.present(video::IImage*,void*,core::rect<s32>*)
append(constvoid*const,u32,constu16*const,u32)11irr.scene.CMeshBuffer<T>.append(constvoid*const,u32,constu16*const,u32 )
flipSurfaces(scene::IMesh*)18irr.scene.CMeshManipulator.flipSurfaces(scene::IMesh*)
createMesh(io::IReadFile*)80irr.scene.CSTLMeshFileLoader.createMesh(io::IReadFile*)
getFloat(irr::scene::E_PLY_PROPERTY_TYPE)65irr.scene.CPLYMeshFileLoader.getFloat(irr::scene::E_PLY_PROPERTY_TYPE)
getInt(irr::scene::E_PLY_PROPERTY_TYPE)67irr.scene.CPLYMeshFileLoader.getInt(irr::scene::E_PLY_PROPERTY_TYPE)
animateJoints(bool)25irr.scene.CAnimatedMeshSceneNode.animateJoints(bool)
getMeshForCurrentFrame()19irr.scene.CAnimatedMeshSceneNode.getMeshForCurrentFrame()
recalculateNormalsT<T>(irr::scene::IMeshBuffer*,bool,bool)29irr.scene.anonymous_namespace{cmeshmanipulator.cpp}.__Globals .recalculateNormalsT<T>(irr::scene::IMeshBuffer*,bool,bool)

Statistics

Stat   # lines of code (LOC)
Sum:348
Average:34.8
Minimum:4
Maximum:80
Standard deviation:24.88
Variance:619.16
warningCritical    Rule warning: Avoid using goto keyword

        
// <Name>Avoid using goto keyword</Name>
        warnif count >0 (from m in Methods where m.IsUsing ("Keywords.goto")
        
select new { m, m.NbLinesOfCode }).Take(10)
        

10 methods matched

methods# lines of code (LOC)Full Name
inflate_fast(z_streamp,unsignedint)203__Globals.inflate_fast(z_streamp,unsignedint)
inflate(z_streamp,int)606__Globals.inflate(z_streamp,int)
start_pass(j_decompress_ptr)73__Globals.start_pass(j_decompress_ptr)
jpeg_fill_bit_buffer(bitread_working_state*,bit_buf_type,int,int)53__Globals.jpeg_fill_bit_buffer(bitread_working_state*,bit_buf_type,int ,int)
decode_mcu_DC_first(j_decompress_ptr,JBLOCKROW*)64__Globals.decode_mcu_DC_first(j_decompress_ptr,JBLOCKROW*)
decode_mcu_AC_first(j_decompress_ptr,JBLOCKROW*)83__Globals.decode_mcu_AC_first(j_decompress_ptr,JBLOCKROW*)
decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)89__Globals.decode_mcu_AC_refine(j_decompress_ptr,JBLOCKROW*)
decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)156__Globals.decode_mcu_sub(j_decompress_ptr,JBLOCKROW*)
decode_mcu(j_decompress_ptr,JBLOCKROW*)153__Globals.decode_mcu(j_decompress_ptr,JBLOCKROW*)
start_pass_huff_decoder(j_decompress_ptr)142__Globals.start_pass_huff_decoder(j_decompress_ptr)

Statistics

Stat   # lines of code (LOC)
Sum:1 622
Average:162.2
Minimum:53
Maximum:606
Standard deviation:155.02
Variance:24 030

110
Constness  

  • 1 validated Rule(s)
  • 1 Rule(s) violated
  • 0 Rules or Queries with Error (syntax error, exception thrown, time-out)
warningCritical    Rule warning: Use const_cast carrefully

          
// <Name>Use const_cast carrefully</Name>
          warnif count >0 (from m in Methods where m.IsUsing ("Keywords.const_cast")
          
select new { m, m.NbLinesOfCode }).Take(10)
          

7 methods matched

methods# lines of code (LOC)Full Name
isCulled(constirr::scene::ISceneNode*)29irr.scene.CSceneManager.isCulled(constirr::scene::ISceneNode*)
getNextVisible()12irr.gui.CGUITreeViewNode.getNextVisible()
renameTexture(irr::video::ITexture*,constio::path&)3irr.video.CNullDriver.renameTexture(irr::video::ITexture* ,constio::path&)
setRenderStates2DMode(bool,bool,bool)98irr.video.COpenGLDriver.setRenderStates2DMode(bool,bool,bool)
draw2DImage(constvideo::ITexture*,constcore::vector2d<s32>& ,constcore::rect<s32>&,constcore::rect<s32>*,irr::video::SColor,bool)66irr.video.CD3D9Driver.draw2DImage(constvideo::ITexture* ,constcore::vector2d<s32>&,constcore::rect<s32>&,constcore::rect<s32>* ,irr::video::SColor,bool)
draw2DImage(constvideo::ITexture*,constcore::rect<s32>& ,constcore::rect<s32>&,constcore::rect<s32>*,constvideo::SColor*const ,bool)33irr.video.CD3D9Driver.draw2DImage(constvideo::ITexture* ,constcore::rect<s32>&,constcore::rect<s32>&,constcore::rect<s32>* ,constvideo::SColor*const,bool)
draw2DImageBatch(constvideo::ITexture*,constcore::array<core::vector2d <s32>>&,constcore::array<core::rect<s32>>&,constcore::rect<s32>* ,irr::video::SColor,bool)74irr.video.CD3D9Driver.draw2DImageBatch(constvideo::ITexture* ,constcore::array<core::vector2d<s32>>&,constcore::array<core::rect <s32>>&,constcore::rect<s32>*,irr::video::SColor,bool)

Statistics

Stat   # lines of code (LOC)
Sum:315
Average:45
Minimum:3
Maximum:98
Standard deviation:32.39
Variance:1 049

030
Dead Code  

warningCritical    Rule warning: Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

37 types matched

typesFull Name
HPBUFFERARB__HPBUFFERARB__
HPBUFFEREXT__HPBUFFEREXT__
HVIDEOOUTPUTDEVICENV__HVIDEOOUTPUTDEVICENV__
HPVIDEODEV__HPVIDEODEV__
HPGPUNV__HPGPUNV__
HGPUNV__HGPUNV__
_GPU_DEVICE_GPU_DEVICE
HVIDEOINPUTDEVICENV__HVIDEOINPUTDEVICENV__
gzFile_sgzFile_s
internal_stateinternal_state
AnonymousAnonymous
multiplier_tablemultiplier_table
irrAllocatorFast<T>irr.core.irrAllocatorFast<T>
eMD3Modelsirr.scene.eMD3Models
EMD3_ANIMATION_TYPEirr.scene.EMD3_ANIMATION_TYPE
SMD3AnimationInfoirr.scene.SMD3AnimationInfo
studioseqhdr_tirr.scene.studioseqhdr_t
mstudioevent_tirr.scene.mstudioevent_t
mstudiopivot_tirr.scene.mstudiopivot_t
COCTLoader+octHeaderExirr.scene.COCTLoader+octHeaderEx
SMD3Frameirr.scene.SMD3Frame
CQ3LevelMesh+eBspSurfaceTypeirr.scene.CQ3LevelMesh+eBspSurfaceType
CQ3LevelMesh+tBSPVisDatairr.scene.CQ3LevelMesh+tBSPVisData
CQ3LevelMesh+tBSPBrushSideirr.scene.CQ3LevelMesh+tBSPBrushSide
CQ3LevelMesh+tBSPLightsirr.scene.CQ3LevelMesh+tBSPLights
SMD2GLCommandirr.scene.SMD2GLCommand
SModifierFunction+Anonymousirr.scene.quake3.SModifierFunction+Anonymous
IShaderManagerirr.scene.quake3.IShaderManager
IXMLBaseirr.io.IXMLBase
E_LOST_RESOURCEirr.video.E_LOST_RESOURCE
CD3D9Driver+E_CACHE_2D_ATTRIBUTESirr.video.CD3D9Driver+E_CACHE_2D_ATTRIBUTES
sVec4+Anonymousirr.video.sVec4+Anonymous
sVec4+Anonymous+Anonymousirr.video.sVec4+Anonymous+Anonymous
sVec3+Anonymousirr.video.sVec3+Anonymous
sVec3+Anonymous+Anonymousirr.video.sVec3+Anonymous+Anonymous
s4DVertex_proxyirr.video.s4DVertex_proxy
CBurningShader_REFERENCEirr.video.CBurningShader_REFERENCE

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

38 methods matched

methodsMethodsCallingMedepthFull Name
map<KeyType,ValueType>(constmap<KeyType,ValueType>&)0 method0irr.core.map<KeyType,ValueType>.map<KeyType,ValueType>(constmap <KeyType,ValueType>&)
operator=(constmap<KeyType,ValueType>&)0 method0irr.core.map<KeyType,ValueType>.operator=(constmap<KeyType,ValueType>& )
insert(Node*)0 method0irr.core.map<KeyType,ValueType>.insert(Node*)
RBTree<KeyTypeRB,ValueTypeRB>()0 method0irr.core.map<KeyType,ValueType>+RBTree.RBTree<KeyTypeRB,ValueTypeRB>()
AccessClass(map<KeyType,ValueType>&,constKeyType&)0 method0irr.core.map<KeyType,ValueType>+AccessClass.AccessClass(map<KeyType ,ValueType>&,constKeyType&)
animate()0 method0irr.scene.CSceneNodeAnimatorCameraMaya.animate()
apply_<Functor>(constFunctor&,irr::scene::IMeshBuffer*,bool ,constirr::scene::IVertexManipulator&)0 method0irr.scene.IMeshManipulator.apply_<Functor>(constFunctor& ,irr::scene::IMeshBuffer*,bool,constirr::scene::IVertexManipulator&)
readMaterial(io::IXMLReader*)0 method0irr.scene.CIrrMeshFileLoader.readMaterial(io::IXMLReader*)
readFloatsInsideElement(io::IXMLReader*,f32*,u32)0 method0irr.scene.CIrrMeshFileLoader.readFloatsInsideElement(io::IXMLReader* ,f32*,u32)
dumpModelInfo(u32)0 method0irr.scene.CAnimatedMeshHalfLife.dumpModelInfo(u32)
ExtractBbox(s32,core::aabbox3df&)0 method0irr.scene.CAnimatedMeshHalfLife.ExtractBbox(s32,core::aabbox3df&)
addBuffer(scene::SMeshBufferLightMap*)0 method0irr.scene.CQuake3ShaderSceneNode.addBuffer(scene::SMeshBufferLightMap* )
transformtex(constcore::matrix4&,constu32)0 method0irr.scene.CQuake3ShaderSceneNode.transformtex(constcore::matrix4& ,constu32)
deleteEmptyNodes(irr::scene::COctreeTriangleSelector::SOctreeNode*)0 method0irr.scene.COctreeTriangleSelector.deleteEmptyNodes (irr::scene::COctreeTriangleSelector::SOctreeNode*)
Animate(u32)0 method0irr.scene.CAnimatedMeshMD3.Animate(u32)
createCurvedSurface_nosubdivision(SMeshBufferLightMap*,s32,s32,s32)0 method0irr.scene.CQ3LevelMesh.createCurvedSurface_nosubdivision (SMeshBufferLightMap*,s32,s32,s32)
dumpVarGroup(constquake3::SVarGroup*,s32)0 method0irr.scene.CQ3LevelMesh.dumpVarGroup(constquake3::SVarGroup*,s32)
extractFilename(irr::io::SWADFileEntry*)0 method0irr.io.CWADReader.extractFilename(irr::io::SWADFileEntry*)
convertTextData<src_char_type>(src_char_type*,char*,int)0 method0irr.io.CXMLReaderImpl<char_type,superclass>.convertTextData <src_char_type>(src_char_type*,char*,int)
convertToLittleEndian<src_char_type>(src_char_type*)0 method0irr.io.CXMLReaderImpl<char_type,superclass>.convertToLittleEndian <src_char_type>(src_char_type*)
isLittleEndian(irr::io::ETEXT_FORMAT)1 method1irr.io.CXMLReaderImpl<char_type,superclass>.isLittleEndian (irr::io::ETEXT_FORMAT)
deleteMaterialRenders()0 method0irr.video.CNullDriver.deleteMaterialRenders()
clipTriangle(f32*)0 method0irr.video.CSoftwareDriver.clipTriangle(f32*)
getGLMatrix(GLfloat*,constcore::matrix4&)0 method0irr.video.COpenGLDriver.getGLMatrix(GLfloat*,constcore::matrix4&)
addShaderMaterial(constc8*,constc8* ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)0 method0irr.video.CD3D9Driver.addShaderMaterial(constc8*,constc8* ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)
printHLSLVariables(int)0 method0irr.video.CD3D9HLSLMaterialRenderer.printHLSLVariables(int)
stubD3DXAssembleShader(int,int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXAssembleShader(int,int ,int)
stubD3DXAssembleShaderFromFile(int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXAssembleShaderFromFile (int,int)
stubD3DXCompileShader(int,int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXCompileShader(int,int ,int)
stubD3DXCompileShaderFromFile(int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXCompileShaderFromFile (int,int)
scanline2()0 method0irr.video.CBurningShader_Raster_Reference.scanline2()
pShader_1()0 method0irr.video.CBurningShader_Raster_Reference.pShader_1()
depthFunc()1 method1irr.video.CBurningShader_Raster_Reference.depthFunc()
depthWrite()1 method1irr.video.CBurningShader_Raster_Reference.depthWrite()
getLightPosObjectSpace()0 method0irr.video.CBurningVideoDriver.getLightPosObjectSpace()
VertexCache_getbypass(irr::video::s4DVertex**)0 method0irr.video.CBurningVideoDriver.VertexCache_getbypass (irr::video::s4DVertex**)
scanline_bilinear()0 method0irr.video.CTRTextureLightMap2_M4.scanline_bilinear()
renderAlphaLine(constirr::video::s4DVertex* ,constirr::video::s4DVertex*)0 method0irr.video.CTRTextureWire2.renderAlphaLine(constirr::video::s4DVertex* ,constirr::video::s4DVertex*)

Statistics

Stat   MethodsCallingMe   depth
Sum:03
Average:00.079
Minimum:00
Maximum:01
Standard deviation:00.27
Variance:00.073
warningCritical    Rule warning: Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

16 fields matched

fieldsFull Name
TempIndicesirr.scene.C3DSMeshFileLoader.TempIndices
LineLengthirr.scene.CPLYMeshFileLoader.LineLength
ParticlePrimitiveirr.scene.CParticleSystemSceneNode.ParticlePrimitive
Materialirr.scene.CAnimatedMeshMD3.Material
Levelirr.scene.CQ3LevelMesh+SBezier.Level
Typeirr.io.CWADReader.Type
MountPointirr.io.CWADReader.MountPoint
FileSystemirr.io.CWADReader.FileSystem
EventParentirr.gui.CGUIFileOpenDialog.EventParent
CurrentRendererirr.video.CSoftwareDriver.CurrentRenderer
transparentirr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND.transparent
VSConstantsTableirr.video.CD3D9HLSLMaterialRenderer.VSConstantsTable
PSConstantsTableirr.video.CD3D9HLSLMaterialRenderer.PSConstantsTable
pID3DDeviceirr.video.CD3D9ShaderMaterialRenderer.pID3DDevice
OldVertexShaderirr.video.CD3D9ShaderMaterialRenderer.OldVertexShader
dithermaskirr.video.IBurningShader.dithermask

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

020
Visibility  

warningCritical    Rule warning: Fields should be declared as private
// <Name>Fields should be declared as private</Name>
warnif count > 0 from f in Application.Fields where 
 
!f.IsPrivate && 

 
// These conditions filter cases where fields 
 // doesn't represent state that should be encapsulated. 
 !f.IsGeneratedByCompiler && 
 
!f.IsEnumValue
select new { f }

3,415 fields matched

fieldsFull Name
copyright__Globals.copyright
crc_table__Globals.crc_table
deflate_copyright__Globals.deflate_copyright
configuration_table__Globals.configuration_table
inflate_copyright__Globals.inflate_copyright
extra_lbits__Globals.extra_lbits
extra_dbits__Globals.extra_dbits
extra_blbits__Globals.extra_blbits
bl_order__Globals.bl_order
static_ltree__Globals.static_ltree
static_dtree__Globals.static_dtree
_dist_code__Globals._dist_code
_length_code__Globals._length_code
base_length__Globals.base_length
base_dist__Globals.base_dist
static_l_desc__Globals.static_l_desc
static_d_desc__Globals.static_d_desc
static_bl_desc__Globals.static_bl_desc
z_errmsg__Globals.z_errmsg
jpeg_aritab__Globals.jpeg_aritab
std_luminance_quant_tbl__Globals.std_luminance_quant_tbl
std_chrominance_quant_tbl__Globals.std_chrominance_quant_tbl
jpeg_zigzag_order__Globals.jpeg_zigzag_order
jpeg_zigzag_order7__Globals.jpeg_zigzag_order7
jpeg_zigzag_order6__Globals.jpeg_zigzag_order6
jpeg_zigzag_order5__Globals.jpeg_zigzag_order5
jpeg_zigzag_order4__Globals.jpeg_zigzag_order4
jpeg_zigzag_order3__Globals.jpeg_zigzag_order3
jpeg_zigzag_order2__Globals.jpeg_zigzag_order2
bmask__Globals.bmask
jpeg_std_message_table__Globals.jpeg_std_message_table
first_pool_slop__Globals.first_pool_slop
extra_pool_slop__Globals.extra_pool_slop
base_dither_matrix__Globals.base_dither_matrix
jpeg_natural_order__Globals.jpeg_natural_order
jpeg_natural_order7__Globals.jpeg_natural_order7
jpeg_natural_order6__Globals.jpeg_natural_order6
jpeg_natural_order5__Globals.jpeg_natural_order5
jpeg_natural_order4__Globals.jpeg_natural_order4
jpeg_natural_order3__Globals.jpeg_natural_order3
jpeg_natural_order2__Globals.jpeg_natural_order2
png_digit__Globals.png_digit
onebppswaptable__Globals.onebppswaptable
twobppswaptable__Globals.twobppswaptable
fourbppswaptable__Globals.fourbppswaptable
t_rc__Globals.t_rc
t_fn__Globals.t_fn
t_fl__Globals.t_fl
t_in__Globals.t_in
t_il__Globals.t_il
t_im__Globals.t_im
mask__Globals.mask
bits__Globals.bits
k256__Globals.k256
i256__Globals.i256
m1__Globals.m1
b1__Globals.b1
k512__Globals.k512
m2__Globals.m2
b2__Globals.b2
i384__Globals.i384
i512__Globals.i512
incs__Globals.incs
BZ2_crc32Table__Globals.BZ2_crc32Table
BZ2_rNums__Globals.BZ2_rNums
DeviceToClose__Globals.DeviceToClose
unusedHPBUFFERARB__.unused
unusedHPBUFFEREXT__.unused
unusedHVIDEOOUTPUTDEVICENV__.unused
unusedHPVIDEODEV__.unused
unusedHPGPUNV__.unused
unusedHGPUNV__.unused
cb_GPU_DEVICE.cb
DeviceName_GPU_DEVICE.DeviceName
DeviceString_GPU_DEVICE.DeviceString
Flags_GPU_DEVICE.Flags
rcVirtualScreen_GPU_DEVICE.rcVirtualScreen
unusedHVIDEOINPUTDEVICENV__.unused
quantvalJQUANT_TBL.quantval
sent_tableJQUANT_TBL.sent_table
bitsJHUFF_TBL.bits
huffvalJHUFF_TBL.huffval
sent_tableJHUFF_TBL.sent_table
component_idjpeg_component_info.component_id
component_indexjpeg_component_info.component_index
h_samp_factorjpeg_component_info.h_samp_factor
v_samp_factorjpeg_component_info.v_samp_factor
quant_tbl_nojpeg_component_info.quant_tbl_no
dc_tbl_nojpeg_component_info.dc_tbl_no
ac_tbl_nojpeg_component_info.ac_tbl_no
width_in_blocksjpeg_component_info.width_in_blocks
height_in_blocksjpeg_component_info.height_in_blocks
DCT_h_scaled_sizejpeg_component_info.DCT_h_scaled_size
DCT_v_scaled_sizejpeg_component_info.DCT_v_scaled_size
downsampled_widthjpeg_component_info.downsampled_width
downsampled_heightjpeg_component_info.downsampled_height
component_neededjpeg_component_info.component_needed
MCU_widthjpeg_component_info.MCU_width
MCU_heightjpeg_component_info.MCU_height
MCU_blocksjpeg_component_info.MCU_blocks

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Constructors of abstract classes should be declared as protected or private
// <Name>Constructors of abstract classes should be declared as protected or private</Name>
// Constructors of an abstract class can only be accessed from this class and derived class.
// Declaring such a constructor with another visibility level is useless and potentially misleading.

warnif count > 0
from t in Application.Types where 
  
t.IsClass && 
  
t.IsAbstract
let ctors = t.Constructors.Where(c => !c.IsProtected && !c.IsPrivate)
where ctors.Count() > 0
select new { t, ctors }

// Notice that if a constructor of an abstract class is declared as private,
// it can only be accessed from derived classes nested in the abstract class.

103 types matched

typesctorsFull Name
ILogger1 methodirr.ILogger
IEventReceiver2 methodsirr.IEventReceiver
ITimer1 methodirr.ITimer
IOSOperator2 methodsirr.IOSOperator
IRandomizer1 methodirr.IRandomizer
IrrlichtDevice2 methodsirr.IrrlichtDevice
ISceneNodeAnimatorFactory2 methodsirr.scene.ISceneNodeAnimatorFactory
ISceneNodeAnimator2 methodsirr.scene.ISceneNodeAnimator
ISceneNodeAnimatorCameraFPS2 methodsirr.scene.ISceneNodeAnimatorCameraFPS
ISceneNodeAnimatorCameraMaya2 methodsirr.scene.ISceneNodeAnimatorCameraMaya
ITriangleSelector1 methodirr.scene.ITriangleSelector
ISceneNode2 methodsirr.scene.ISceneNode
ICameraSceneNode1 methodirr.scene.ICameraSceneNode
ISceneNodeAnimatorCollisionResponse1 methodirr.scene.ISceneNodeAnimatorCollisionResponse
IAnimatedMesh1 methodirr.scene.IAnimatedMesh
IMeshBuffer2 methodsirr.scene.IMeshBuffer
ISkinnedMesh1 methodirr.scene.ISkinnedMesh
ISceneManager1 methodirr.scene.ISceneManager
ISceneNodeFactory2 methodsirr.scene.ISceneNodeFactory
IMesh1 methodirr.scene.IMesh
IGeometryCreator1 methodirr.scene.IGeometryCreator
ITextSceneNode1 methodirr.scene.ITextSceneNode
ITerrainSceneNode1 methodirr.scene.ITerrainSceneNode
IDummyTransformationSceneNode1 methodirr.scene.IDummyTransformationSceneNode
IBillboardSceneNode1 methodirr.scene.IBillboardSceneNode
IAnimatedMeshMD21 methodirr.scene.IAnimatedMeshMD2
IAnimatedMeshMD31 methodirr.scene.IAnimatedMeshMD3
IAnimatedMeshSceneNode1 methodirr.scene.IAnimatedMeshSceneNode
IParticleEmitter1 methodirr.scene.IParticleEmitter
IParticleAnimatedMeshSceneNodeEmitter1 methodirr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleBoxEmitter1 methodirr.scene.IParticleBoxEmitter
IParticleCylinderEmitter1 methodirr.scene.IParticleCylinderEmitter
IParticleMeshEmitter1 methodirr.scene.IParticleMeshEmitter
IParticleRingEmitter1 methodirr.scene.IParticleRingEmitter
IParticleSphereEmitter1 methodirr.scene.IParticleSphereEmitter
IParticleAffector1 methodirr.scene.IParticleAffector
IParticleAttractionAffector1 methodirr.scene.IParticleAttractionAffector
IParticleFadeOutAffector1 methodirr.scene.IParticleFadeOutAffector
IParticleGravityAffector1 methodirr.scene.IParticleGravityAffector
IParticleRotationAffector1 methodirr.scene.IParticleRotationAffector
IParticleSystemSceneNode1 methodirr.scene.IParticleSystemSceneNode
ILightSceneNode1 methodirr.scene.ILightSceneNode
IMeshSceneNode1 methodirr.scene.IMeshSceneNode
IMeshCache1 methodirr.scene.IMeshCache
IMeshManipulator1 methodirr.scene.IMeshManipulator
IMeshLoader2 methodsirr.scene.IMeshLoader
ISceneLoader2 methodsirr.scene.ISceneLoader
CVertexBuffer+IVertexList2 methodsirr.scene.CVertexBuffer+IVertexList
CIndexBuffer+IIndexList2 methodsirr.scene.CIndexBuffer+IIndexList
IColladaPrefab2 methodsirr.scene.IColladaPrefab
IMeshWriter2 methodsirr.scene.IMeshWriter
ISceneCollisionManager2 methodsirr.scene.ISceneCollisionManager
IVolumeLightSceneNode2 methodsirr.scene.IVolumeLightSceneNode
IMetaTriangleSelector2 methodsirr.scene.IMetaTriangleSelector
IQ3LevelMesh2 methodsirr.scene.IQ3LevelMesh
IShadowVolumeSceneNode2 methodsirr.scene.IShadowVolumeSceneNode
IFileReadCallBack2 methodsirr.io.IFileReadCallBack
IAttributes1 methodirr.io.IAttributes
IReadFile2 methodsirr.io.IReadFile
IFileList1 methodirr.io.IFileList
IFileSystem1 methodirr.io.IFileSystem
IAttribute1 methodirr.io.IAttribute
IXMLWriter1 methodirr.io.IXMLWriter
IWriteFile2 methodsirr.io.IWriteFile
ICursorControl1 methodirr.gui.ICursorControl
IGUISkin1 methodirr.gui.IGUISkin
IGUIEnvironment1 methodirr.gui.IGUIEnvironment
IGUISpriteBank1 methodirr.gui.IGUISpriteBank
IGUIButton1 methodirr.gui.IGUIButton
IGUICheckBox1 methodirr.gui.IGUICheckBox
IGUIComboBox1 methodirr.gui.IGUIComboBox
IGUIContextMenu1 methodirr.gui.IGUIContextMenu
IGUIEditBox1 methodirr.gui.IGUIEditBox
IGUIElementFactory1 methodirr.gui.IGUIElementFactory
IGUIFileOpenDialog1 methodirr.gui.IGUIFileOpenDialog
IGUIImage1 methodirr.gui.IGUIImage
IGUIInOutFader1 methodirr.gui.IGUIInOutFader
IGUIListBox1 methodirr.gui.IGUIListBox
IGUIMeshViewer1 methodirr.gui.IGUIMeshViewer
IGUIScrollBar1 methodirr.gui.IGUIScrollBar
IGUISpinBox1 methodirr.gui.IGUISpinBox
IGUIStaticText1 methodirr.gui.IGUIStaticText
IGUITab1 methodirr.gui.IGUITab
IGUITabControl1 methodirr.gui.IGUITabControl
IGUIToolBar1 methodirr.gui.IGUIToolBar
IGUIWindow1 methodirr.gui.IGUIWindow
IGUIImageList1 methodirr.gui.IGUIImageList
IGUITreeViewNode1 methodirr.gui.IGUITreeViewNode
IGUITreeView1 methodirr.gui.IGUITreeView
IImage1 methodirr.video.IImage
ITexture1 methodirr.video.ITexture
IVideoDriver1 methodirr.video.IVideoDriver
IVideoModeList2 methodsirr.video.IVideoModeList
IZBuffer2 methodsirr.video.IZBuffer
ITriangleRenderer2 methodsirr.video.ITriangleRenderer
IImagePresenter1 methodirr.video.IImagePresenter
IGPUProgrammingServices2 methodsirr.video.IGPUProgrammingServices
IMaterialRendererServices2 methodsirr.video.IMaterialRendererServices
IShaderConstantSetCallBack2 methodsirr.video.IShaderConstantSetCallBack
IImageLoader1 methodirr.video.IImageLoader

Statistics

Stat   ctors
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

120
Purity - Immutability - Side-Effects  

warningCritical    Rule warning: Structures should be immutable
// <Name>Structures should be immutable</Name>
warnif count > 0 from t in Application.Types where 
   
t.IsStructure && 
  
!t.IsImmutable

let mutableFields = t.Fields.Where(f => !f.IsImmutable)

select new { t, t.NbLinesOfCode, mutableFields }

// It is deemed as a good practice to make 
// your structure immutable.
// An object is immutable if its state doesn’t 
// change once the object has been created. 
// Consequently, a structure is immutable if 
// its instances are immutable.
// Immutable types naturally simplify code by 
// limiting side-effects.
// See some explanations on immutability and 
// how NDepend supports it here:
// http://codebetter.com/blogs/patricksmacchia/archive/2008/01/13/immutable-types-understand-them-and-use-them.aspx

443 types matched

types# lines of code (LOC)mutableFieldsFull Name
HPBUFFERARB__01 fieldHPBUFFERARB__
HPBUFFEREXT__01 fieldHPBUFFEREXT__
HVIDEOOUTPUTDEVICENV__01 fieldHVIDEOOUTPUTDEVICENV__
HPVIDEODEV__01 fieldHPVIDEODEV__
HPGPUNV__01 fieldHPGPUNV__
HGPUNV__01 fieldHGPUNV__
_GPU_DEVICE05 fields_GPU_DEVICE
HVIDEOINPUTDEVICENV__01 fieldHVIDEOINPUTDEVICENV__
JQUANT_TBL02 fieldsJQUANT_TBL
JHUFF_TBL03 fieldsJHUFF_TBL
jpeg_component_info022 fieldsjpeg_component_info
jpeg_scan_info06 fieldsjpeg_scan_info
jpeg_marker_struct05 fieldsjpeg_marker_struct
jpeg_common_struct06 fieldsjpeg_common_struct
jpeg_compress_struct076 fieldsjpeg_compress_struct
jpeg_decompress_struct093 fieldsjpeg_decompress_struct
jpeg_error_mgr014 fieldsjpeg_error_mgr
jpeg_progress_mgr05 fieldsjpeg_progress_mgr
jpeg_destination_mgr05 fieldsjpeg_destination_mgr
jpeg_source_mgr07 fieldsjpeg_source_mgr
jpeg_memory_mgr013 fieldsjpeg_memory_mgr
png_color_struct03 fieldspng_color_struct
png_color_16_struct05 fieldspng_color_16_struct
png_color_8_struct05 fieldspng_color_8_struct
png_sPLT_entry_struct05 fieldspng_sPLT_entry_struct
png_sPLT_struct04 fieldspng_sPLT_struct
png_text_struct07 fieldspng_text_struct
png_time_struct06 fieldspng_time_struct
png_unknown_chunk_t04 fieldspng_unknown_chunk_t
png_row_info_struct06 fieldspng_row_info_struct
_CLzmaProps04 fields_CLzmaProps
CLzmaDec018 fieldsCLzmaDec
z_stream_s014 fieldsz_stream_s
gz_header_s013 fieldsgz_header_s
gzFile_s03 fieldsgzFile_s
internal_state01 fieldinternal_state
ct_data_s02 fieldsct_data_s
tree_desc_s03 fieldstree_desc_s
internal_state059 fieldsinternal_state
config_s05 fieldsconfig_s
static_tree_desc_s01 fieldstatic_tree_desc_s
code03 fieldscode
static_tree_desc_s05 fieldsstatic_tree_desc_s
internal_state01 fieldinternal_state
jpeg_comp_master05 fieldsjpeg_comp_master
jpeg_c_main_controller02 fieldsjpeg_c_main_controller
jpeg_c_prep_controller02 fieldsjpeg_c_prep_controller
jpeg_c_coef_controller02 fieldsjpeg_c_coef_controller
jpeg_color_converter02 fieldsjpeg_color_converter
jpeg_downsampler03 fieldsjpeg_downsampler
jpeg_forward_dct02 fieldsjpeg_forward_dct
jpeg_entropy_encoder03 fieldsjpeg_entropy_encoder
jpeg_marker_writer07 fieldsjpeg_marker_writer
jpeg_decomp_master03 fieldsjpeg_decomp_master
jpeg_input_controller06 fieldsjpeg_input_controller
jpeg_d_main_controller02 fieldsjpeg_d_main_controller
jpeg_d_coef_controller05 fieldsjpeg_d_coef_controller
jpeg_d_post_controller02 fieldsjpeg_d_post_controller
jpeg_marker_reader07 fieldsjpeg_marker_reader
jpeg_entropy_decoder02 fieldsjpeg_entropy_decoder
jpeg_inverse_dct02 fieldsjpeg_inverse_dct
jpeg_upsampler03 fieldsjpeg_upsampler
jpeg_color_deconverter02 fieldsjpeg_color_deconverter
jpeg_color_quantizer04 fieldsjpeg_color_quantizer
arith_entropy_encoder014 fieldsarith_entropy_encoder
my_coef_controller07 fieldsmy_coef_controller
my_color_converter02 fieldsmy_color_converter
my_fdct_controller05 fieldsmy_fdct_controller
c_derived_tbl02 fieldsc_derived_tbl
savable_state03 fieldssavable_state
huff_entropy_encoder016 fieldshuff_entropy_encoder
working_state04 fieldsworking_state
my_main_controller06 fieldsmy_main_controller
my_marker_writer02 fieldsmy_marker_writer
my_comp_master05 fieldsmy_comp_master
my_prep_controller06 fieldsmy_prep_controller
my_downsampler05 fieldsmy_downsampler
my_coef_controller07 fieldsmy_coef_controller
arith_entropy_decoder010 fieldsarith_entropy_decoder
my_destination_mgr03 fieldsmy_destination_mgr
my_mem_destination_mgr06 fieldsmy_mem_destination_mgr
my_source_mgr04 fieldsmy_source_mgr
my_coef_controller07 fieldsmy_coef_controller
my_color_deconverter06 fieldsmy_color_deconverter
my_idct_controller02 fieldsmy_idct_controller
multiplier_table03 fieldsmultiplier_table
d_derived_tbl05 fieldsd_derived_tbl
bitread_perm_state02 fieldsbitread_perm_state
bitread_working_state05 fieldsbitread_working_state
savable_state02 fieldssavable_state
huff_entropy_decoder012 fieldshuff_entropy_decoder
my_input_controller02 fieldsmy_input_controller
my_main_controller09 fieldsmy_main_controller
my_marker_reader07 fieldsmy_marker_reader
my_decomp_master05 fieldsmy_decomp_master
my_upsampler010 fieldsmy_upsampler
my_post_controller06 fieldsmy_post_controller
my_upsampler08 fieldsmy_upsampler
backing_store_struct05 fieldsbacking_store_struct
small_pool_struct02 fieldssmall_pool_struct

Statistics

Stat   # lines of code (LOC)   mutableFields
Sum:1 5090
Average:3.410
Minimum:00
Maximum:1600
Standard deviation:13.790
Variance:190.20
warningCritical    Rule warning: Avoid static fields with a mutable field type
// <Name>Avoid static fields with a mutable field type</Name>
warnif count > 0
from f in Application.Fields
where f.IsStatic && !f.IsEnumValue && !f.IsGeneratedByCompiler
let fieldType = f.FieldType
where fieldType != null && 
     
!fieldType.IsThirdParty && 
     
!fieldType.IsInterface && 
     
!fieldType.IsImmutable
select new { f, 
             
mutableFieldType = fieldType , 
             
isFieldImmutable = f.IsImmutable }

// As explained in this blog post
// http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members
// static fields should be used to hold only constant and immutable states.

16 fields matched

fieldsmutableFieldTypeisFieldImmutableFull Name
configuration_tableconfig_sFalse__Globals.configuration_table
static_ltreect_data_sFalse__Globals.static_ltree
static_dtreect_data_sFalse__Globals.static_dtree
static_l_descstatic_tree_desc_sFalse__Globals.static_l_desc
static_d_descstatic_tree_desc_sFalse__Globals.static_d_desc
static_bl_descstatic_tree_desc_sFalse__Globals.static_bl_desc
locale_currenteLocaleIDFalseirr.core.__Globals.locale_current
LoggerILoggerFalseirr.os.Printer.Logger
TransformedVertsvector3d<T>Falseirr.scene.__Globals.TransformedVerts
MD2AnimationTypeListSMD2AnimationTypeFalseirr.scene.__Globals.MD2AnimationTypeList
irrEmptyStringcstring<T,TAlloc,>Falseirr.scene.quake3.__Globals.irrEmptyStringc
emptyFileListEntrystring<T,TAlloc,>Falseirr.io.__Globals.emptyFileListEntry
DefaultFontNamestring<T,TAlloc,>Trueirr.gui.CGUIEnvironment.DefaultFontName
TemplatesubElementPredefinesFalseirr.gui.anonymous_namespace{cguicolorselectdialog.cpp}.__Globals .Template
Filenamestring<T,TAlloc,>Trueirr.video.CImageLoaderJPG.Filename
vSizeSVSizeFalseirr.video.CBurningVideoDriver.vSize

Statistics

Stat   mutableFieldType   isFieldImmutable
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

270
Naming Conventions  

warningCritical    Rule warning: Instance fields should be prefixed with a 'm_'
// <Name>Instance fields should be prefixed with a 'm_'</Name>
warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^m_") && 
  
!f.IsStatic  
  
// Don't hesitate to customize the regex of NameLike to your preference. 
 && !f.IsGlobal && !f.IsEnumValue && !f.IsThirdParty 
select new { f }).Take(10)

10 fields matched

fieldsFull Name
unusedHPBUFFERARB__.unused
unusedHPBUFFEREXT__.unused
unusedHVIDEOOUTPUTDEVICENV__.unused
unusedHPVIDEODEV__.unused
unusedHPGPUNV__.unused
unusedHGPUNV__.unused
cb_GPU_DEVICE.cb
DeviceName_GPU_DEVICE.DeviceName
DeviceString_GPU_DEVICE.DeviceString
Flags_GPU_DEVICE.Flags

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Static fields should be prefixed with a 's_'
// <Name>Static fields should be prefixed with a 's_'</Name>
   warnif count > 0 (from f in Fields where 
  
!f.NameLike (@"^s_") && 
  
f.IsStatic && !f.IsThirdParty 
  
select new { f }).Take(10)  
  
// Don't hesitate to customize the regex of NameLike to your preference.


10 fields matched

fieldsFull Name
copyright__Globals.copyright
crc_table__Globals.crc_table
configuration_table__Globals.configuration_table
extra_lbits__Globals.extra_lbits
extra_dbits__Globals.extra_dbits
extra_blbits__Globals.extra_blbits
bl_order__Globals.bl_order
static_ltree__Globals.static_ltree
static_dtree__Globals.static_dtree
base_length__Globals.base_length

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Types name should begin with an Upper character
// <Name>Types name should begin with an Upper character</Name>
warnif count > 0 (from t in Types where 
 
!t.NameLike (@"^[A-Z]")      // The name of a type should begin with an Upper letter.
  && // Except if it is generated by compiler or ...
 !t.IsThirdParty && !t.IsGlobal
select new { t, t.NbLinesOfCode }).Take(10)

10 types matched

types# lines of code (LOC)Full Name
_GPU_DEVICE0_GPU_DEVICE
jpeg_component_info0jpeg_component_info
jpeg_scan_info0jpeg_scan_info
jpeg_marker_struct0jpeg_marker_struct
jpeg_common_struct0jpeg_common_struct
jpeg_compress_struct0jpeg_compress_struct
jpeg_decompress_struct0jpeg_decompress_struct
jpeg_error_mgr0jpeg_error_mgr
jpeg_error_mgr+Anonymous0jpeg_error_mgr+Anonymous
jpeg_progress_mgr0jpeg_progress_mgr

Statistics

Stat   # lines of code (LOC)
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid types with name too long
// <Name>Avoid types with name too long</Name>
warnif count > 0 from t in Application.Types 
where !t.IsGeneratedByCompiler && !t.IsThirdParty

where t.SimpleName.Length > 35 
select new { t, t.SimpleName }

      

20 types matched

typesSimpleNameFull Name
IParticleAnimatedMeshSceneNodeEmitterIParticleAnimatedMeshSceneNodeEmitterirr.scene.IParticleAnimatedMeshSceneNodeEmitter
CParticleAnimatedMeshSceneNodeEmitterCParticleAnimatedMeshSceneNodeEmitterirr.scene.CParticleAnimatedMeshSceneNodeEmitter
COpenGLMaterialRenderer_ONETEXTURE_BLENDCOpenGLMaterialRenderer_ONETEXTURE_BLENDirr.video.COpenGLMaterialRenderer_ONETEXTURE_BLEND
COpenGLMaterialRenderer_SOLID_2_LAYERCOpenGLMaterialRenderer_SOLID_2_LAYERirr.video.COpenGLMaterialRenderer_SOLID_2_LAYER
COpenGLMaterialRenderer_TRANSPARENT_ADD_COLORCOpenGLMaterialRenderer_TRANSPARENT_ADD_COLORirr.video.COpenGLMaterialRenderer_TRANSPARENT_ADD_COLOR
COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHACOpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHAirr.video.COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHA
COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNELCOpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNELirr.video.COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL
COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFCOpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFirr.video.COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF
COpenGLMaterialRenderer_REFLECTION_2_LAYERCOpenGLMaterialRenderer_REFLECTION_2_LAYERirr.video.COpenGLMaterialRenderer_REFLECTION_2_LAYER
COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERCOpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERirr.video.COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER
CD3D9MaterialRenderer_ONETEXTURE_BLENDCD3D9MaterialRenderer_ONETEXTURE_BLENDirr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND
CD3D9MaterialRenderer_TRANSPARENT_ADD_COLORCD3D9MaterialRenderer_TRANSPARENT_ADD_COLORirr.video.CD3D9MaterialRenderer_TRANSPARENT_ADD_COLOR
CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHACD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHAirr.video.CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHA
CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNELCD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNELirr.video.CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL
CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFCD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFirr.video.CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF
CD3D9MaterialRenderer_REFLECTION_2_LAYERCD3D9MaterialRenderer_REFLECTION_2_LAYERirr.video.CD3D9MaterialRenderer_REFLECTION_2_LAYER
CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERCD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERirr.video.CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER
CBurningVideoDriver+E_TRANSFORMATION_STATE_BURNING_VIDEOE_TRANSFORMATION_STATE_BURNING_VIDEOirr.video.CBurningVideoDriver+E_TRANSFORMATION_STATE_BURNING_VIDEO
CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLORCSoftware2MaterialRenderer_TRANSPARENT_ADD_COLORirr.video.CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR
CSoftware2MaterialRenderer_UNSUPPORTEDCSoftware2MaterialRenderer_UNSUPPORTEDirr.video.CSoftware2MaterialRenderer_UNSUPPORTED

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid methods with name too long
// <Name>Avoid methods with name too long</Name>
warnif count > 0 from m in Application.Methods where 
 
!m.IsGeneratedByCompiler 
  
&& m.SimpleName.Length > 35 && !m.IsThirdParty

select new { m, m.SimpleName }

// The regex matches methods with name longer 
// than 35 characters.
// Method Name doesn't contain the type and namespace 
// prefix, FullName does.
// The regex computes the method name length from 
// the beginning until the first open parenthesis 
// or first lower than (for generic methods).
      

62 methods matched

methodsSimpleNameFull Name
png_read_filter_row_paeth_1byte_pixel(png_row_infop,png_bytep ,png_const_bytep)png_read_filter_row_paeth_1byte_pixel__Globals.png_read_filter_row_paeth_1byte_pixel(png_row_infop ,png_bytep,png_const_bytep)
png_read_filter_row_paeth_multibyte_pixel(png_row_infop,png_bytep ,png_const_bytep)png_read_filter_row_paeth_multibyte_pixel__Globals.png_read_filter_row_paeth_multibyte_pixel(png_row_infop ,png_bytep,png_const_bytep)
png_set_text_compression_window_bits(png_structp,int)png_set_text_compression_window_bits__Globals.png_set_text_compression_window_bits(png_structp,int)
buildProjectionMatrixPerspectiveFovRH(f32,f32,f32,f32)buildProjectionMatrixPerspectiveFovRHirr.core.CMatrix4<T>.buildProjectionMatrixPerspectiveFovRH(f32,f32,f32 ,f32)
buildProjectionMatrixPerspectiveFovLH(f32,f32,f32,f32)buildProjectionMatrixPerspectiveFovLHirr.core.CMatrix4<T>.buildProjectionMatrixPerspectiveFovLH(f32,f32,f32 ,f32)
buildProjectionMatrixPerspectiveFovInfinityLH(f32,f32,f32,f32)buildProjectionMatrixPerspectiveFovInfinityLHirr.core.CMatrix4<T>.buildProjectionMatrixPerspectiveFovInfinityLH(f32 ,f32,f32,f32)
getCreatableSceneNodeAnimatorTypeCount()getCreatableSceneNodeAnimatorTypeCountirr.scene.ISceneNodeAnimatorFactory .getCreatableSceneNodeAnimatorTypeCount()
getCreateableSceneNodeAnimatorTypeName(u32)getCreateableSceneNodeAnimatorTypeNameirr.scene.ISceneNodeAnimatorFactory .getCreateableSceneNodeAnimatorTypeName(u32)
getCreateableSceneNodeAnimatorTypeName (irr::scene::ESCENE_NODE_ANIMATOR_TYPE)getCreateableSceneNodeAnimatorTypeNameirr.scene.ISceneNodeAnimatorFactory .getCreateableSceneNodeAnimatorTypeName (irr::scene::ESCENE_NODE_ANIMATOR_TYPE)
getCreatableSceneNodeAnimatorTypeCount()getCreatableSceneNodeAnimatorTypeCountirr.scene.CDefaultSceneNodeAnimatorFactory .getCreatableSceneNodeAnimatorTypeCount()
getCreateableSceneNodeAnimatorTypeName(u32)getCreateableSceneNodeAnimatorTypeNameirr.scene.CDefaultSceneNodeAnimatorFactory .getCreateableSceneNodeAnimatorTypeName(u32)
getCreateableSceneNodeAnimatorTypeName (irr::scene::ESCENE_NODE_ANIMATOR_TYPE)getCreateableSceneNodeAnimatorTypeNameirr.scene.CDefaultSceneNodeAnimatorFactory .getCreateableSceneNodeAnimatorTypeName (irr::scene::ESCENE_NODE_ANIMATOR_TYPE)
~ISceneNodeAnimatorCollisionResponse()~ISceneNodeAnimatorCollisionResponseirr.scene.ISceneNodeAnimatorCollisionResponse .~ISceneNodeAnimatorCollisionResponse()
createTriangleSelectorFromBoundingBox(irr::scene::ISceneNode*)createTriangleSelectorFromBoundingBoxirr.scene.ISceneManager.createTriangleSelectorFromBoundingBox (irr::scene::ISceneNode*)
getRegisteredSceneNodeAnimatorFactoryCount()getRegisteredSceneNodeAnimatorFactoryCountirr.scene.ISceneManager.getRegisteredSceneNodeAnimatorFactoryCount()
createTriangleSelectorFromBoundingBox(irr::scene::ISceneNode*)createTriangleSelectorFromBoundingBoxirr.scene.CSceneManager.createTriangleSelectorFromBoundingBox (irr::scene::ISceneNode*)
getRegisteredSceneNodeAnimatorFactoryCount()getRegisteredSceneNodeAnimatorFactoryCountirr.scene.CSceneManager.getRegisteredSceneNodeAnimatorFactoryCount()
getSceneNodeAndCollisionPointFromRay(core::line3df,core::vector3df& ,core::triangle3df&,s32,irr::scene::ISceneNode*,bool)getSceneNodeAndCollisionPointFromRayirr.scene.ISceneCollisionManager.getSceneNodeAndCollisionPointFromRay (core::line3df,core::vector3df&,core::triangle3df&,s32 ,irr::scene::ISceneNode*,bool)
getSceneNodeAndCollisionPointFromRay(core::line3df,core::vector3df& ,core::triangle3df&,s32,irr::scene::ISceneNode*,bool)getSceneNodeAndCollisionPointFromRayirr.scene.CSceneCollisionManager.getSceneNodeAndCollisionPointFromRay (core::line3df,core::vector3df&,core::triangle3df&,s32 ,irr::scene::ISceneNode*,bool)
~CSceneNodeAnimatorCollisionResponse()~CSceneNodeAnimatorCollisionResponseirr.scene.CSceneNodeAnimatorCollisionResponse .~CSceneNodeAnimatorCollisionResponse()
helper_updateAbsolutePositionOfAllChildren(irr::scene::ISceneNode*)helper_updateAbsolutePositionOfAllChildrenirr.scene.CBoneSceneNode.helper_updateAbsolutePositionOfAllChildren (irr::scene::ISceneNode*)
CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)CParticleAnimatedMeshSceneNodeEmitterirr.scene.CParticleAnimatedMeshSceneNodeEmitter .CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
~IIrrXMLReader<char_type,super_class>()~IIrrXMLReader<char_type,super_class>irr.io.IIrrXMLReader<char_type,super_class>.~IIrrXMLReader<char_type ,super_class>()
getAttributeEnumerationLiteralsOfEnumeration(constc8*,core::array <core::stringc>&)getAttributeEnumerationLiteralsOfEnumerationirr.io.IAttributes.getAttributeEnumerationLiteralsOfEnumeration (constc8*,core::array<core::stringc>&)
getAttributeEnumerationLiteralsOfEnumeration(s32,core::array <core::stringc>&)getAttributeEnumerationLiteralsOfEnumerationirr.io.IAttributes.getAttributeEnumerationLiteralsOfEnumeration(s32 ,core::array<core::stringc>&)
getAttributeEnumerationLiteralsOfEnumeration(constc8*,core::array <core::stringc>&)getAttributeEnumerationLiteralsOfEnumerationirr.io.CAttributes.getAttributeEnumerationLiteralsOfEnumeration (constc8*,core::array<core::stringc>&)
getAttributeEnumerationLiteralsOfEnumeration(s32,core::array <core::stringc>&)getAttributeEnumerationLiteralsOfEnumerationirr.io.CAttributes.getAttributeEnumerationLiteralsOfEnumeration(s32 ,core::array<core::stringc>&)
CXMLReaderImpl<char_type,superclass>(irr::io::IFileReadCallBack*,bool)CXMLReaderImpl<char_type,superclass>irr.io.CXMLReaderImpl<char_type,superclass>.CXMLReaderImpl<char_type ,superclass>(irr::io::IFileReadCallBack*,bool)
~CXMLReaderImpl<char_type,superclass>()~CXMLReaderImpl<char_type,superclass>irr.io.CXMLReaderImpl<char_type,superclass>.~CXMLReaderImpl<char_type ,superclass>()
createTriangleRendererTextureFlatWire(irr::video::IZBuffer*)createTriangleRendererTextureFlatWireirr.video.__Globals.createTriangleRendererTextureFlatWire (irr::video::IZBuffer*)
createTriangleRendererTextureGouraud(irr::video::IZBuffer*)createTriangleRendererTextureGouraudirr.video.__Globals.createTriangleRendererTextureGouraud (irr::video::IZBuffer*)
createTriangleRendererTextureGouraudAdd(irr::video::IZBuffer*)createTriangleRendererTextureGouraudAddirr.video.__Globals.createTriangleRendererTextureGouraudAdd (irr::video::IZBuffer*)
createTriangleRendererTextureGouraudNoZ()createTriangleRendererTextureGouraudNoZirr.video.__Globals.createTriangleRendererTextureGouraudNoZ()
createTriangleRendererTextureGouraudWire(irr::video::IZBuffer*)createTriangleRendererTextureGouraudWireirr.video.__Globals.createTriangleRendererTextureGouraudWire (irr::video::IZBuffer*)
createTriangleRendererTextureDetailMap2 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureDetailMap2irr.video.__Globals.createTriangleRendererTextureDetailMap2 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureGouraud2(irr::video::CBurningVideoDriver* )createTriangleRendererTextureGouraud2irr.video.__Globals.createTriangleRendererTextureGouraud2 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureVertexAlpha2 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureVertexAlpha2irr.video.__Globals.createTriangleRendererTextureVertexAlpha2 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureLightMap2_Add (irr::video::CBurningVideoDriver*)createTriangleRendererTextureLightMap2_Addirr.video.__Globals.createTriangleRendererTextureLightMap2_Add (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureLightMap2_M1 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureLightMap2_M1irr.video.__Globals.createTriangleRendererTextureLightMap2_M1 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureLightMap2_M2 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureLightMap2_M2irr.video.__Globals.createTriangleRendererTextureLightMap2_M2 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureLightMap2_M4 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureLightMap2_M4irr.video.__Globals.createTriangleRendererTextureLightMap2_M4 (irr::video::CBurningVideoDriver*)
createTriangleRendererGTextureLightMap2_M4 (irr::video::CBurningVideoDriver*)createTriangleRendererGTextureLightMap2_M4irr.video.__Globals.createTriangleRendererGTextureLightMap2_M4 (irr::video::CBurningVideoDriver*)
createTriangleRendererTextureGouraudWire2 (irr::video::CBurningVideoDriver*)createTriangleRendererTextureGouraudWire2irr.video.__Globals.createTriangleRendererTextureGouraudWire2 (irr::video::CBurningVideoDriver*)
getOpenGLFormatAndParametersFromColorFormat(irr::video::ECOLOR_FORMAT ,GLint&,GLenum&,GLenum&)getOpenGLFormatAndParametersFromColorFormatirr.video.COpenGLTexture.getOpenGLFormatAndParametersFromColorFormat (irr::video::ECOLOR_FORMAT,GLint&,GLenum&,GLenum&)
COpenGLMaterialRenderer_ONETEXTURE_BLEND(video::COpenGLDriver*)COpenGLMaterialRenderer_ONETEXTURE_BLENDirr.video.COpenGLMaterialRenderer_ONETEXTURE_BLEND .COpenGLMaterialRenderer_ONETEXTURE_BLEND(video::COpenGLDriver*)
COpenGLMaterialRenderer_SOLID_2_LAYER(video::COpenGLDriver*)COpenGLMaterialRenderer_SOLID_2_LAYERirr.video.COpenGLMaterialRenderer_SOLID_2_LAYER .COpenGLMaterialRenderer_SOLID_2_LAYER(video::COpenGLDriver*)
COpenGLMaterialRenderer_TRANSPARENT_ADD_COLOR(video::COpenGLDriver*)COpenGLMaterialRenderer_TRANSPARENT_ADD_COLORirr.video.COpenGLMaterialRenderer_TRANSPARENT_ADD_COLOR .COpenGLMaterialRenderer_TRANSPARENT_ADD_COLOR(video::COpenGLDriver*)
COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHA(video::COpenGLDriver* )COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHAirr.video.COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHA .COpenGLMaterialRenderer_TRANSPARENT_VERTEX_ALPHA (video::COpenGLDriver*)
COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL (video::COpenGLDriver*)COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNELirr.video.COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL .COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL (video::COpenGLDriver*)
COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF (video::COpenGLDriver*)COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFirr.video.COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF .COpenGLMaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF (video::COpenGLDriver*)
COpenGLMaterialRenderer_REFLECTION_2_LAYER(video::COpenGLDriver*)COpenGLMaterialRenderer_REFLECTION_2_LAYERirr.video.COpenGLMaterialRenderer_REFLECTION_2_LAYER .COpenGLMaterialRenderer_REFLECTION_2_LAYER(video::COpenGLDriver*)
COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER (video::COpenGLDriver*)COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERirr.video.COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER .COpenGLMaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER (video::COpenGLDriver*)
CD3D9MaterialRenderer_ONETEXTURE_BLEND(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_ONETEXTURE_BLENDirr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND .CD3D9MaterialRenderer_ONETEXTURE_BLEND(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_TRANSPARENT_ADD_COLOR(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_TRANSPARENT_ADD_COLORirr.video.CD3D9MaterialRenderer_TRANSPARENT_ADD_COLOR .CD3D9MaterialRenderer_TRANSPARENT_ADD_COLOR(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHA(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHAirr.video.CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHA .CD3D9MaterialRenderer_TRANSPARENT_VERTEX_ALPHA(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNELirr.video.CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL .CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REFirr.video.CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF .CD3D9MaterialRenderer_TRANSPARENT_ALPHA_CHANNEL_REF(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_REFLECTION_2_LAYER(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_REFLECTION_2_LAYERirr.video.CD3D9MaterialRenderer_REFLECTION_2_LAYER .CD3D9MaterialRenderer_REFLECTION_2_LAYER(IDirect3DDevice9* ,video::IVideoDriver*)
CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER(IDirect3DDevice9* ,video::IVideoDriver*)CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYERirr.video.CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER .CD3D9MaterialRenderer_TRANSPARENT_REFLECTION_2_LAYER (IDirect3DDevice9*,video::IVideoDriver*)
CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR (video::CBurningVideoDriver*)CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLORirr.video.CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR .CSoftware2MaterialRenderer_TRANSPARENT_ADD_COLOR (video::CBurningVideoDriver*)
CSoftware2MaterialRenderer_UNSUPPORTED(video::CBurningVideoDriver*)CSoftware2MaterialRenderer_UNSUPPORTEDirr.video.CSoftware2MaterialRenderer_UNSUPPORTED .CSoftware2MaterialRenderer_UNSUPPORTED(video::CBurningVideoDriver*)
fragment_dst_color_one_minus_dst_alpha()fragment_dst_color_one_minus_dst_alphairr.video.CTRTextureBlend.fragment_dst_color_one_minus_dst_alpha()

Statistics

Stat   SimpleName
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Avoid fields with name too long
// <Name>Avoid fields with name too long</Name>
warnif count > 0 from f in Application.Fields where
 
!f.IsGeneratedByCompiler &&
  
f.Name.Length > 35 && !f.IsThirdParty
select f

// The regex matches fields with name longer 
// than 35 characters.
// Field Name doesn't contain the type and 
// namespace prefix, FullName does.
      

8 fields matched

fieldsFull Name
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARKELzmaStatus.LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK
IRR_XML_FORMAT_GUI_ELEMENT_ATTR_TYPEirr.gui.__Globals.IRR_XML_FORMAT_GUI_ELEMENT_ATTR_TYPE
IRR_AMD_seamless_cubemap_per_textureirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_AMD_seamless_cubemap_per_texture
IRR_AMD_transform_feedback3_lines_trianglesirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_AMD_transform_feedback3_lines_triangles
IRR_ARB_compressed_texture_pixel_storageirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_ARB_compressed_texture_pixel_storage
IRR_ARB_transform_feedback_instancedirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_ARB_transform_feedback_instanced
IRR_EXT_framebuffer_multisample_blit_scaledirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_EXT_framebuffer_multisample_blit_scaled
IRR_NV_framebuffer_multisample_coverageirr.video.COpenGLExtensionHandler+EOpenGLFeatures .IRR_NV_framebuffer_multisample_coverage

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) 
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding) && !t.IsThirdParty

select new { t, dirCorresponding , sourceFilePath  } 

872 types matched

typesdirCorrespondingsourceFilePathFull Name
__Globalsirrc:\GlobalMembersirr.__Globals
__Globalsirr corec:\GlobalMembersirr.core.__Globals
FloatIntUnion32irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMath.hirr.core.FloatIntUnion32
inttofloatirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMath.hirr.core.inttofloat
vector3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\vector3d.hirr.core.vector3d<T>
irrAllocator<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.irrAllocator<T>
irrAllocatorFast<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.irrAllocatorFast<T>
eAllocStrategyirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.eAllocStrategy
eLocaleIDirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrString.hirr.core.eLocaleID
string<T,TAlloc,>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrString.hirr.core.string<T,TAlloc,>
array<T,TAlloc,>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrArray.hirr.core.array<T,TAlloc,>
dimension2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\dimension2d.hirr.core.dimension2d<T>
vector2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\vector2d.hirr.core.vector2d<T>
line3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\line3d.hirr.core.line3d<T>
EIntersectionRelation3Dirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\plane3d.hirr.core.EIntersectionRelation3D
plane3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\plane3d.hirr.core.plane3d<T>
aabbox3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\aabbox3d.hirr.core.aabbox3d<T>
triangle3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\triangle3d.hirr.core.triangle3d<T>
rect<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\rect.hirr.core.rect<T>
CMatrix4<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\matrix4.hirr.core.CMatrix4<T>
CMatrix4<T>+eConstructorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\matrix4.hirr.core.CMatrix4<T>+eConstructor
list<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>
list<T>+SKListNodeirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+SKListNode
list<T>+Iteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+Iterator
list<T>+ConstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+ConstIterator
quaternionirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\quaternion.hirr.core.quaternion
line2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\line2d.hirr.core.line2d<T>
map<KeyType,ValueType>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>
map<KeyType,ValueType>+RBTreeirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+RBTree
map<KeyType,ValueType>+Iteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+Iterator
map<KeyType,ValueType>+ConstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ConstIterator
map<KeyType,ValueType>+ParentFirstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ParentFirstIterator
map<KeyType,ValueType>+ParentLastIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ParentLastIterator
map<KeyType,ValueType>+AccessClassirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+AccessClass
Byteswapirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Byteswap
Printerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Printer
Randomizerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Randomizer
Timerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Timer
__Globalsirr osc:\GlobalMembersirr.os.__Globals
ESCENE_NODE_ANIMATOR_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ESceneNodeAnimatorTypes.hirr.scene.ESCENE_NODE_ANIMATOR_TYPE
ISceneNodeAnimatorFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorFactory.hirr.scene.ISceneNodeAnimatorFactory
CDefaultSceneNodeAnimatorFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeAnimatorFactory.hirr.scene.CDefaultSceneNodeAnimatorFactory
ISceneNodeAnimatorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimator.hirr.scene.ISceneNodeAnimator
ISceneNodeAnimatorCameraFPSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCameraFPS.hirr.scene.ISceneNodeAnimatorCameraFPS
CSceneNodeAnimatorCameraFPSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CSceneNodeAnimatorCameraFPS.hirr.scene.CSceneNodeAnimatorCameraFPS
ISceneNodeAnimatorCameraMayairr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCameraMaya.hirr.scene.ISceneNodeAnimatorCameraMaya
ESCENE_NODE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ESceneNodeTypes.hirr.scene.ESCENE_NODE_TYPE
E_CULLING_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ECullingTypes.hirr.scene.E_CULLING_TYPE
__Globalsirr scenec:\GlobalMembersirr.scene.__Globals
E_DEBUG_SCENE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EDebugSceneTypes.hirr.scene.E_DEBUG_SCENE_TYPE
ITriangleSelectorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITriangleSelector.hirr.scene.ITriangleSelector
ISceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNode.hirr.scene.ISceneNode
ICameraSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ICameraSceneNode.hirr.scene.ICameraSceneNode
CSceneNodeAnimatorCameraMayairr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CSceneNodeAnimatorCameraMaya.hirr.scene.CSceneNodeAnimatorCameraMaya
ICollisionCallbackirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCollisionResponse.hirr.scene.ICollisionCallback
ISceneNodeAnimatorCollisionResponseirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCollisionResponse.hirr.scene.ISceneNodeAnimatorCollisionResponse
E_ANIMATED_MESH_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMesh.hirr.scene.E_ANIMATED_MESH_TYPE
IAnimatedMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMesh.hirr.scene.IAnimatedMesh
IMeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IMeshBuffer.hirr.scene.IMeshBuffer
SSkinMeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SSkinMeshBuffer.hirr.scene.SSkinMeshBuffer
E_INTERPOLATION_MODEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.E_INTERPOLATION_MODE
ISkinnedMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh
ISkinnedMesh+SWeightirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SWeight
ISkinnedMesh+SPositionKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SPositionKey
ISkinnedMesh+SScaleKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SScaleKey
ISkinnedMesh+SRotationKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SRotationKey
ISkinnedMesh+SJointirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SJoint
E_SCENE_NODE_RENDER_PASSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneManager.hirr.scene.E_SCENE_NODE_RENDER_PASS
ISceneManagerirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneManager.hirr.scene.ISceneManager
ISceneNodeFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeFactory.hirr.scene.ISceneNodeFactory
CDefaultSceneNodeFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeFactory.hirr.scene.CDefaultSceneNodeFactory
CDefaultSceneNodeFactory+SSceneNodeTypePairirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeFactory.hirr.scene.CDefaultSceneNodeFactory+SSceneNodeTypePair
EMESH_WRITER_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EMeshWriterEnums.hirr.scene.EMESH_WRITER_TYPE
E_MESH_WRITER_FLAGSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EMeshWriterEnums.hirr.scene.E_MESH_WRITER_FLAGS
IMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IMesh.hirr.scene.IMesh
IGeometryCreatorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGeometryCreator.hirr.scene.IGeometryCreator
E_PRIMITIVE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EPrimitiveTypes.hirr.scene.E_PRIMITIVE_TYPE
ITextSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITextSceneNode.hirr.scene.ITextSceneNode
ITerrainSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITerrainSceneNode.hirr.scene.ITerrainSceneNode
IDummyTransformationSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IDummyTransformationSceneNode.hirr.scene.IDummyTransformationSceneNode
IBillboardSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IBillboardSceneNode.hirr.scene.IBillboardSceneNode
EMD2_ANIMATION_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD2.hirr.scene.EMD2_ANIMATION_TYPE
IAnimatedMeshMD2irr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD2.hirr.scene.IAnimatedMeshMD2
eMD3Modelsirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.eMD3Models
EMD3_ANIMATION_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.EMD3_ANIMATION_TYPE
SMD3AnimationInfoirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3AnimationInfo
SMD3Headerirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Header
SMD3MeshHeaderirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3MeshHeader
SMD3Vertexirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Vertex
SMD3TexCoordirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3TexCoord
SMD3Faceirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Face
SMD3MeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3MeshBuffer
SMD3QuaternionTagirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3QuaternionTag
SMD3QuaternionTagListirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3QuaternionTagList
SMD3Meshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Mesh
IAnimatedMeshMD3irr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.IAnimatedMeshMD3
E_JOINT_UPDATE_ON_RENDERirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.E_JOINT_UPDATE_ON_RENDER
IAnimationEndCallBackirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.IAnimationEndCallBack
IAnimatedMeshSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.IAnimatedMeshSceneNode
SParticleirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SParticle.hirr.scene.SParticle

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

040
Source Files Organization  

warningCritical    Rule warning: Avoid defining multiple types in a source file
// <Name>Avoid defining multiple types in a source file</Name>
warnif count > 0 

// Build a lookup indexed by source files, values being a sequence of types defined in the source file.
let lookup = Application.Types.Where(t => 
                                
!t.IsGlobal && 
                               
// except nested types and types generated by compilers!
                               !t.IsGeneratedByCompiler &&                               
                               
!t.IsNested)                                
                         
// It could make sense to not apply this rule for enumerations.
                         // && !t.IsEnumeration)

            
// We use multi-key, since a type can be declared in multiple source files.
           .ToMultiKeyLookup(t => t.SourceDecls.Select(d => d.SourceFile))
 
from @group in lookup where @group.Count() > 1
   
let sourceFile = @group.Key

   
// CQLinq doesn't let indexing result with sourceFile 
   // so we choose a typeIndex in types, 
   // preferably the type that has the file name.
   let typeWithSourceFileName = @group.FirstOrDefault(t => t.SimpleName == sourceFile.FileNameWithoutExtension)
   
let typeIndex = typeWithSourceFileName ?? @group.First()

select new { typeIndex, 
             
types = @group as IEnumerable<IType>, 
             
sourceFile.FilePathString }

106 types matched

typestypesFilePathStringFull Name
HPBUFFERARB__8 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\wglext.hHPBUFFERARB__
JQUANT_TBL17 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jpeglib.hJQUANT_TBL
png_color_struct9 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\libpng\png.hpng_color_struct
_CLzmaProps4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\lzma\LzmaDec.h_CLzmaProps
z_stream_s4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\zlib\zlib.hz_stream_s
ct_data_s3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\zlib\deflate.hct_data_s
block_state3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\zlib\deflate.cblock_state
code2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\zlib\inftrees.hcode
J_BUF_MODE21 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jpegint.hJ_BUF_MODE
c_derived_tbl4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jchuff.cc_derived_tbl
JPEG_MARKER2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jcmarker.cJPEG_MARKER
c_pass_type2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jcmaster.cc_pass_type
my_destination_mgr2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jdatadst.cmy_destination_mgr
my_idct_controller2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jddctmgr.cmy_idct_controller
d_derived_tbl5 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jdhuff.cd_derived_tbl
JPEG_MARKER2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jdmarker.cJPEG_MARKER
small_pool_struct5 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jmemmgr.csmall_pool_struct
my_cquantizer2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\jpeglib\jquant2.cmy_cquantizer
png_xy2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\libpng\pngpriv.hpng_xy
aes_encrypt_ctx2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\aesGladman\aes.haes_encrypt_ctx
sha256_ctx3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\aesGladman\sha2.hsha256_ctx
EState2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\bzip2\bzlib_private.hEState
ILogger2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ILogger.hirr.ILogger
IEventReceiver7 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IEventReceiver.hirr.IEventReceiver
SKeyMap2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SKeyMap.hirr.SKeyMap
sInternalTexture3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\SoftwareDriver2_helper.hirr.sInternalTexture
SJoystickWin32Control2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CIrrDeviceWin32.cppirr.SJoystickWin32Control
FloatIntUnion322 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMath.hirr.core.FloatIntUnion32
irrAllocator<T>3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.irrAllocator<T>
eLocaleID2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrString.hirr.core.eLocaleID
plane3d<T>2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\plane3d.hirr.core.plane3d<T>
Byteswap4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Byteswap
ISceneNodeAnimatorCollisionResponse2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCollisionResponse.hirr.scene.ISceneNodeAnimatorCollisionResponse
IAnimatedMesh2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMesh.hirr.scene.IAnimatedMesh
ISkinnedMesh2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh
ISceneManager2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneManager.hirr.scene.ISceneManager
EMESH_WRITER_TYPE2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EMeshWriterEnums.hirr.scene.EMESH_WRITER_TYPE
IAnimatedMeshMD22 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD2.hirr.scene.IAnimatedMeshMD2
IAnimatedMeshMD313 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.IAnimatedMeshMD3
IAnimatedMeshSceneNode3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.IAnimatedMeshSceneNode
IParticleEmitter2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleEmitter.hirr.scene.IParticleEmitter
IParticleAffector2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleAffector.hirr.scene.IParticleAffector
CAnimatedMeshHalfLife23 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CAnimatedMeshHalfLife.hirr.scene.CAnimatedMeshHalfLife
CMY3DMeshFileLoader3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMY3DMeshFileLoader.hirr.scene.CMY3DMeshFileLoader
CColladaFileLoader14 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CColladaFileLoader.hirr.scene.CColladaFileLoader
CPLYMeshFileLoader2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CPLYMeshFileLoader.hirr.scene.CPLYMeshFileLoader
CSMFMeshFileLoader2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CSMFMeshFileLoader.hirr.scene.CSMFMeshFileLoader
CColladaMeshWriter3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CColladaMeshWriter.hirr.scene.CColladaMeshWriter
CTextSceneNode2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CTextSceneNode.hirr.scene.CTextSceneNode
SMD3Frame3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CAnimatedMeshMD3.cppirr.scene.SMD3Frame
CPrefab6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CColladaFileLoader.cppirr.scene.CPrefab
color_rgb_t14 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CCSMLoader.cppirr.scene.color_rgb_t
tLWOTextureInfo2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CLWOMeshFileLoader.cppirr.scene.tLWOTextureInfo
SMD2Header6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMD2MeshFileLoader.cppirr.scene.SMD2Header
SGroup8 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMS3DMeshFileLoader.cppirr.scene.SGroup
SMyVector312 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMY3DHelper.hirr.scene.SMyVector3
eQ3MeshIndex11 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IQ3Shader.hirr.scene.quake3.eQ3MeshIndex
vcache3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMeshManipulator.cppirr.scene.anonymous_namespace{cmeshmanipulator.cpp}.vcache
dmfHeader6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\dmfsupport.hirr.scene.anonymous_namespace{dmfsupport.h}.dmfHeader
IAttributeExchangingObject3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAttributeExchangingObject.hirr.io.IAttributeExchangingObject
ETEXT_FORMAT6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrXML.hirr.io.ETEXT_FORMAT
CBoolAttribute24 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CAttributeImpl.hirr.io.CBoolAttribute
CFileList2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CFileList.hirr.io.CFileList
CZipReader11 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CZipReader.hirr.io.CZipReader
CMountPointReader2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CMountPointReader.hirr.io.CMountPointReader
CPakReader4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CPakReader.hirr.io.CPakReader
CNPKReader4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CNPKReader.hirr.io.CNPKReader
CTarReader4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CTarReader.hirr.io.CTarReader
CWADReader6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CWADReader.hirr.io.CWADReader
ICursorControl4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ICursorControl.hirr.gui.ICursorControl
IGUISkin7 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUISkin.hirr.gui.IGUISkin
IGUIFont2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUIFont.hirr.gui.IGUIFont
IGUISpriteBank3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUISpriteBank.hirr.gui.IGUISpriteBank
IGUIButton2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUIButton.hirr.gui.IGUIButton
IGUIContextMenu2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUIContextMenu.hirr.gui.IGUIContextMenu
IGUIListBox2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUIListBox.hirr.gui.IGUIListBox
IGUITabControl2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUITabControl.hirr.gui.IGUITabControl
IGUITreeView2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGUITreeView.hirr.gui.IGUITreeView
CGUITreeView2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CGUITreeView.hirr.gui.CGUITreeView
CGUITabControl2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CGUITabControl.hirr.gui.CGUITabControl
SMaterialLayer2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SMaterialLayer.hirr.video.SMaterialLayer
SMaterial10 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SMaterial.hirr.video.SMaterial
S3DVertex4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\S3DVertex.hirr.video.S3DVertex
SColor4 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SColor.hirr.video.SColor
ITexture3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITexture.hirr.video.ITexture
IVideoDriver7 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IVideoDriver.hirr.video.IVideoDriver
SLight2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SLight.hirr.video.SLight
ITriangleRenderer2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\ITriangleRenderer.hirr.video.ITriangleRenderer
IGPUProgrammingServices2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGPUProgrammingServices.hirr.video.IGPUProgrammingServices
COpenGLTexture3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\COpenGLTexture.hirr.video.COpenGLTexture
COpenGLMaterialRenderer13 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\COpenGLMaterialRenderer.hirr.video.COpenGLMaterialRenderer
CImageLoaderBMP2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderBMP.hirr.video.CImageLoaderBMP
CImageLoaderPCX2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderPCX.hirr.video.CImageLoaderPCX
CImageLoaderPSD2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderPSD.hirr.video.CImageLoaderPSD
CImageLoaderTGA3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderTGA.hirr.video.CImageLoaderTGA
CImageLoaderRGB3 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderRGB.hirr.video.CImageLoaderRGB
CImageLoaderWAL6 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CImageLoaderWAL.hirr.video.CImageLoaderWAL
CD3D9Driver2 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CD3D9Driver.hirr.video.CD3D9Driver
CD3D9MaterialRenderer13 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CD3D9MaterialRenderer.hirr.video.CD3D9MaterialRenderer
sVec214 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\S4DVertex.hirr.video.sVec2

Statistics

Stat   types   FilePathString
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Namespace name should correspond to file location
// <Name>Namespace name should correspond to file location</Name>

// For a good code organization, 
// do mirror the namespaces hierarchy and the source files directories tree.

warnif count > 0
from n in Application.Namespaces 

// Replace dots by spaces in namespace name
let dirCorresponding = n.Name.Replace('.', ' ')

// Look at source file decl of JustMyCode type's declared in n
from t in n.ChildTypes
where JustMyCode.Contains(t) && !t.IsGlobal
from decl in t.SourceDecls
let sourceFilePath = decl.SourceFile.FilePath.ToString()

// Replace dots and path separators by spaces in source files names
where !sourceFilePath.Replace('.',' ').Replace('\\',' ').Contains(dirCorresponding)

select new { t, dirCorresponding , sourceFilePath  } 

853 types matched

typesdirCorrespondingsourceFilePathFull Name
FloatIntUnion32irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMath.hirr.core.FloatIntUnion32
inttofloatirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMath.hirr.core.inttofloat
vector3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\vector3d.hirr.core.vector3d<T>
irrAllocator<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.irrAllocator<T>
irrAllocatorFast<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.irrAllocatorFast<T>
eAllocStrategyirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrAllocator.hirr.core.eAllocStrategy
eLocaleIDirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrString.hirr.core.eLocaleID
string<T,TAlloc,>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrString.hirr.core.string<T,TAlloc,>
array<T,TAlloc,>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrArray.hirr.core.array<T,TAlloc,>
dimension2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\dimension2d.hirr.core.dimension2d<T>
vector2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\vector2d.hirr.core.vector2d<T>
line3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\line3d.hirr.core.line3d<T>
EIntersectionRelation3Dirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\plane3d.hirr.core.EIntersectionRelation3D
plane3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\plane3d.hirr.core.plane3d<T>
aabbox3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\aabbox3d.hirr.core.aabbox3d<T>
triangle3d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\triangle3d.hirr.core.triangle3d<T>
rect<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\rect.hirr.core.rect<T>
CMatrix4<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\matrix4.hirr.core.CMatrix4<T>
CMatrix4<T>+eConstructorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\matrix4.hirr.core.CMatrix4<T>+eConstructor
list<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>
list<T>+SKListNodeirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+SKListNode
list<T>+Iteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+Iterator
list<T>+ConstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrList.hirr.core.list<T>+ConstIterator
quaternionirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\quaternion.hirr.core.quaternion
line2d<T>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\line2d.hirr.core.line2d<T>
map<KeyType,ValueType>irr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>
map<KeyType,ValueType>+RBTreeirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+RBTree
map<KeyType,ValueType>+Iteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+Iterator
map<KeyType,ValueType>+ConstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ConstIterator
map<KeyType,ValueType>+ParentFirstIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ParentFirstIterator
map<KeyType,ValueType>+ParentLastIteratorirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+ParentLastIterator
map<KeyType,ValueType>+AccessClassirr coreC:\irrlicht-1.8.1\irrlicht-1.8.1\include\irrMap.hirr.core.map<KeyType,ValueType>+AccessClass
Byteswapirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Byteswap
Printerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Printer
Randomizerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Randomizer
Timerirr osC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\os.hirr.os.Timer
ESCENE_NODE_ANIMATOR_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ESceneNodeAnimatorTypes.hirr.scene.ESCENE_NODE_ANIMATOR_TYPE
ISceneNodeAnimatorFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorFactory.hirr.scene.ISceneNodeAnimatorFactory
CDefaultSceneNodeAnimatorFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeAnimatorFactory.hirr.scene.CDefaultSceneNodeAnimatorFactory
ISceneNodeAnimatorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimator.hirr.scene.ISceneNodeAnimator
ISceneNodeAnimatorCameraFPSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCameraFPS.hirr.scene.ISceneNodeAnimatorCameraFPS
CSceneNodeAnimatorCameraFPSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CSceneNodeAnimatorCameraFPS.hirr.scene.CSceneNodeAnimatorCameraFPS
ISceneNodeAnimatorCameraMayairr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCameraMaya.hirr.scene.ISceneNodeAnimatorCameraMaya
ESCENE_NODE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ESceneNodeTypes.hirr.scene.ESCENE_NODE_TYPE
E_CULLING_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ECullingTypes.hirr.scene.E_CULLING_TYPE
E_DEBUG_SCENE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EDebugSceneTypes.hirr.scene.E_DEBUG_SCENE_TYPE
ITriangleSelectorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITriangleSelector.hirr.scene.ITriangleSelector
ISceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNode.hirr.scene.ISceneNode
ICameraSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ICameraSceneNode.hirr.scene.ICameraSceneNode
CSceneNodeAnimatorCameraMayairr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CSceneNodeAnimatorCameraMaya.hirr.scene.CSceneNodeAnimatorCameraMaya
ICollisionCallbackirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCollisionResponse.hirr.scene.ICollisionCallback
ISceneNodeAnimatorCollisionResponseirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeAnimatorCollisionResponse.hirr.scene.ISceneNodeAnimatorCollisionResponse
E_ANIMATED_MESH_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMesh.hirr.scene.E_ANIMATED_MESH_TYPE
IAnimatedMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMesh.hirr.scene.IAnimatedMesh
IMeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IMeshBuffer.hirr.scene.IMeshBuffer
SSkinMeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SSkinMeshBuffer.hirr.scene.SSkinMeshBuffer
E_INTERPOLATION_MODEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.E_INTERPOLATION_MODE
ISkinnedMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh
ISkinnedMesh+SWeightirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SWeight
ISkinnedMesh+SPositionKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SPositionKey
ISkinnedMesh+SScaleKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SScaleKey
ISkinnedMesh+SRotationKeyirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SRotationKey
ISkinnedMesh+SJointirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISkinnedMesh.hirr.scene.ISkinnedMesh+SJoint
E_SCENE_NODE_RENDER_PASSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneManager.hirr.scene.E_SCENE_NODE_RENDER_PASS
ISceneManagerirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneManager.hirr.scene.ISceneManager
ISceneNodeFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ISceneNodeFactory.hirr.scene.ISceneNodeFactory
CDefaultSceneNodeFactoryirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeFactory.hirr.scene.CDefaultSceneNodeFactory
CDefaultSceneNodeFactory+SSceneNodeTypePairirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CDefaultSceneNodeFactory.hirr.scene.CDefaultSceneNodeFactory+SSceneNodeTypePair
EMESH_WRITER_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EMeshWriterEnums.hirr.scene.EMESH_WRITER_TYPE
E_MESH_WRITER_FLAGSirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EMeshWriterEnums.hirr.scene.E_MESH_WRITER_FLAGS
IMeshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IMesh.hirr.scene.IMesh
IGeometryCreatorirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IGeometryCreator.hirr.scene.IGeometryCreator
E_PRIMITIVE_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\EPrimitiveTypes.hirr.scene.E_PRIMITIVE_TYPE
ITextSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITextSceneNode.hirr.scene.ITextSceneNode
ITerrainSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\ITerrainSceneNode.hirr.scene.ITerrainSceneNode
IDummyTransformationSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IDummyTransformationSceneNode.hirr.scene.IDummyTransformationSceneNode
IBillboardSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IBillboardSceneNode.hirr.scene.IBillboardSceneNode
EMD2_ANIMATION_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD2.hirr.scene.EMD2_ANIMATION_TYPE
IAnimatedMeshMD2irr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD2.hirr.scene.IAnimatedMeshMD2
eMD3Modelsirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.eMD3Models
EMD3_ANIMATION_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.EMD3_ANIMATION_TYPE
SMD3AnimationInfoirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3AnimationInfo
SMD3Headerirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Header
SMD3MeshHeaderirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3MeshHeader
SMD3Vertexirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Vertex
SMD3TexCoordirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3TexCoord
SMD3Faceirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Face
SMD3MeshBufferirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3MeshBuffer
SMD3QuaternionTagirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3QuaternionTag
SMD3QuaternionTagListirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3QuaternionTagList
SMD3Meshirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.SMD3Mesh
IAnimatedMeshMD3irr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshMD3.hirr.scene.IAnimatedMeshMD3
E_JOINT_UPDATE_ON_RENDERirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.E_JOINT_UPDATE_ON_RENDER
IAnimationEndCallBackirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.IAnimationEndCallBack
IAnimatedMeshSceneNodeirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IAnimatedMeshSceneNode.hirr.scene.IAnimatedMeshSceneNode
SParticleirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\SParticle.hirr.scene.SParticle
E_PARTICLE_EMITTER_TYPEirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleEmitter.hirr.scene.E_PARTICLE_EMITTER_TYPE
IParticleEmitterirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleEmitter.hirr.scene.IParticleEmitter
IParticleAnimatedMeshSceneNodeEmitterirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleAnimatedMeshSceneNodeEmitter.hirr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleBoxEmitterirr sceneC:\irrlicht-1.8.1\irrlicht-1.8.1\include\IParticleBoxEmitter.hirr.scene.IParticleBoxEmitter

Statistics

Stat   dirCorresponding   sourceFilePath
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
warningCritical    Rule warning: Types with source files stored in the same directory, should be declared in the same namespace
// <Name>Types with source files stored in the same directory, should be declared in the same namespace</Name>
warnif count > 0 

// Group JustMyCode types in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = JustMyCode.Types.Where(t => !t.IsGlobal)
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)


from groupOfTypes in lookup
let parentNamespaces = groupOfTypes.ParentNamespaces()

// Select group of types (with source files stored in the same directory) ...
// ... but contained in several namespaces
where parentNamespaces.Count() > 1

// mainNamespaces is the namespace that contains many types 
// declared in the directory groupOfTypes .key
let mainNamespace  = groupOfTypes
                     
.ToLookup(t => t.ParentNamespace)
                     
.OrderByDescending(g => g.Count()).First().Key

// Select types with source files stored in the same directory,
// but contained in namespaces different than mainNamespace.
let typesOutOfMainNamespace = groupOfTypes
                              
.Where(t => t.ParentNamespace != mainNamespace )

                               
// Filter types declared on several source files that contain generated methods 
                               // because typically such type contains one or several partial definitions generated.
                               // These partially generated types would be false positive for the present rule.
                               .Where(t => t.SourceDecls.Count() == 1 ||
                                           
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)
where typesOutOfMainNamespace.Count() > 0

select new { mainNamespace, 

             
// Typically a type in typesOutOfMainNamespace ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type should be contained in mainNamespace.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the source file of type must be moved to the parent namespace directory.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesOutOfMainNamespace   }

2 namespaces matched

namespacestypesOutOfMainNamespaceFull Name
irr.scene360 typesirr.scene
irr.scene187 typesirr.scene

Statistics

Stat   typesOutOfMainNamespace
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
warningCritical    Rule warning: Types declared in the same namespace, should have their source files stored in the same directory
// <Name>Types declared in the same namespace, should have their source files stored in the same directory</Name>
warnif count > 0 
from @namespace in Application.Namespaces

// Group types of @namespace in a lookup 
// where groups are keyed with directories that contain the types' source file(s).
// Note that a type can be contained in several groups 
// if it is declared in several source files stored in different directories.
let lookup = @namespace.ChildTypes.Where(t => !t.IsGlobal && JustMyCode.Contains(t))
            
.ToMultiKeyLookup(
               
t => t.SourceDecls.Select(
                          
decl => decl.SourceFile.FilePath.ParentDirectoryPath).Distinct()
            
)

// Are types of @namespaces declared in more than one directory?
where lookup.Count > 1

// Infer the main directory, preferably the one that has the same name as the namespace.
let dirs = lookup.Select(types => types.Key)
let mainDirNullable = dirs.Where(d => d.DirectoryName == @namespace.SimpleName).FirstOrDefault()
let mainDir = mainDirNullable ?? dirs.First()

// Types declared out of mainDir, are types in group of types declared in a directory different than mainDir!
let typesDeclaredOutOfMainDir = lookup.Where(types => types.Key != mainDir)
                                
.SelectMany(types => types)
                                
                                
// Filter types declared on several source files that contain generated methods 
                                // because typically such type contains one or several partial definitions generated.
                                // These partially generated types would be false positive for the present rule.
                                .Where(t => t.SourceDecls.Count() == 1 ||
                                            
t.Methods.Count(m => JustMyCode.Contains(m)) == 0)

where typesDeclaredOutOfMainDir.Count() > 0

select new { @namespace, 

             
// Typically a type in typesDeclaredOutOfMainDir ...
             // 1) ... is contained in the wrong namespace but its source file(s) is stored in the right directory.
             //      --> In such situation the type parent namespace should be the namespace corresponding to the directory.
             // 2) ... is contained in the right namespace but its source file(s) is stored in the wrong directory
             //      --> In such situation the type source file should be moved to mainDir.
             // 3) ... is declared in multiple source files, stored in different directories.
             //      --> It would be preferable that all source files are stored in a single directory.
             typesDeclaredOutOfMainDir , 

             
mainDir = mainDir.ToString() }

6 namespaces matched

namespacestypesDeclaredOutOfMainDirmainDirFull Name
135 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht
irr22 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\includeirr
irr.scene269 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\includeirr.scene
irr.io69 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\includeirr.io
irr.gui45 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\includeirr.gui
irr.video181 typesC:\irrlicht-1.8.1\irrlicht-1.8.1\includeirr.video

Statistics

Stat   typesDeclaredOutOfMainDir   mainDir
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00

Object Oriented Design

Base class should not use derivatives
// <Name>Base class should not use derivatives</Name>
warnif count > 0 
from baseClass in JustMyCode.Types
where baseClass.IsClass && baseClass.NbChildren > 0 // <-- for optimization!
let derivedClassesUsed = baseClass.DerivedTypes.UsedBy(baseClass)
where derivedClassesUsed.Count() > 0
select new { baseClass, derivedClassesUsed }

No types matched

Class shouldn't be too deep in inheritance tree
// <Name>Class shouldn't be too deep in inheritance tree</Name>
warnif count > 0 from t in JustMyCode.Types 
where t.IsClass
let baseClasses = t.BaseClasses.ExceptThirdParty()

// Warn for classes with 3 or more base classes.
// Notice that we don't count third-party classes 
// because this rule concerns your code design,
// not third-party libraries consumed design.
where baseClasses.Count() >= 3

select new { t, baseClasses, 
                
// The metric value DepthOfInheritance takes account
                // of third-party base classes
                t.DepthOfInheritance } 

// Branches too long in the derivation should be avoided.
// See the definition of the DepthOfInheritance metric here 
// http://www.cppdepend.com/Metrics.aspx#DIT

202 types matched

typesbaseClassesDepth of inheritanceFull Name
CIrrDeviceWin324 types3irr.CIrrDeviceWin32
CIrrDeviceConsole4 types3irr.CIrrDeviceConsole
ISceneNodeAnimator3 types2irr.scene.ISceneNodeAnimator
ISceneNodeAnimatorCameraFPS4 types3irr.scene.ISceneNodeAnimatorCameraFPS
CSceneNodeAnimatorCameraFPS5 types4irr.scene.CSceneNodeAnimatorCameraFPS
ISceneNodeAnimatorCameraMaya4 types3irr.scene.ISceneNodeAnimatorCameraMaya
ICameraSceneNode4 types3irr.scene.ICameraSceneNode
CSceneNodeAnimatorCameraMaya5 types4irr.scene.CSceneNodeAnimatorCameraMaya
ISceneNodeAnimatorCollisionResponse4 types3irr.scene.ISceneNodeAnimatorCollisionResponse
ISkinnedMesh3 types3irr.scene.ISkinnedMesh
ITextSceneNode3 types3irr.scene.ITextSceneNode
ITerrainSceneNode3 types3irr.scene.ITerrainSceneNode
IDummyTransformationSceneNode3 types3irr.scene.IDummyTransformationSceneNode
IBillboardSceneNode3 types3irr.scene.IBillboardSceneNode
IAnimatedMeshMD23 types3irr.scene.IAnimatedMeshMD2
IAnimatedMeshMD33 types3irr.scene.IAnimatedMeshMD3
IAnimatedMeshSceneNode3 types3irr.scene.IAnimatedMeshSceneNode
IParticleAnimatedMeshSceneNodeEmitter3 types3irr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleBoxEmitter3 types3irr.scene.IParticleBoxEmitter
IParticleCylinderEmitter3 types3irr.scene.IParticleCylinderEmitter
IParticleMeshEmitter3 types3irr.scene.IParticleMeshEmitter
IParticleRingEmitter3 types3irr.scene.IParticleRingEmitter
IParticleSphereEmitter3 types3irr.scene.IParticleSphereEmitter
IParticleAttractionAffector3 types3irr.scene.IParticleAttractionAffector
IParticleFadeOutAffector3 types3irr.scene.IParticleFadeOutAffector
IParticleGravityAffector3 types3irr.scene.IParticleGravityAffector
IParticleRotationAffector3 types3irr.scene.IParticleRotationAffector
IParticleSystemSceneNode3 types3irr.scene.IParticleSystemSceneNode
ILightSceneNode3 types3irr.scene.ILightSceneNode
IMeshSceneNode3 types3irr.scene.IMeshSceneNode
CSceneManager4 types3irr.scene.CSceneManager
CSkinnedMesh4 types4irr.scene.CSkinnedMesh
CAnimatedMeshHalfLife3 types3irr.scene.CAnimatedMeshHalfLife
CCubeSceneNode4 types4irr.scene.CCubeSceneNode
CSphereSceneNode4 types4irr.scene.CSphereSceneNode
CAnimatedMeshSceneNode4 types4irr.scene.CAnimatedMeshSceneNode
COctreeSceneNode4 types4irr.scene.COctreeSceneNode
CCameraSceneNode5 types4irr.scene.CCameraSceneNode
CLightSceneNode4 types4irr.scene.CLightSceneNode
CBillboardSceneNode4 types4irr.scene.CBillboardSceneNode
CMeshSceneNode4 types4irr.scene.CMeshSceneNode
CSkyBoxSceneNode3 types3irr.scene.CSkyBoxSceneNode
CSkyDomeSceneNode3 types3irr.scene.CSkyDomeSceneNode
CParticleSystemSceneNode4 types4irr.scene.CParticleSystemSceneNode
CDummyTransformationSceneNode4 types4irr.scene.CDummyTransformationSceneNode
CWaterSurfaceSceneNode5 types5irr.scene.CWaterSurfaceSceneNode
CTerrainSceneNode4 types4irr.scene.CTerrainSceneNode
CEmptySceneNode3 types3irr.scene.CEmptySceneNode
CTextSceneNode4 types4irr.scene.CTextSceneNode
CBillboardTextSceneNode4 types5irr.scene.CBillboardTextSceneNode
CQuake3ShaderSceneNode4 types4irr.scene.CQuake3ShaderSceneNode
IVolumeLightSceneNode3 types3irr.scene.IVolumeLightSceneNode
CVolumeLightSceneNode4 types4irr.scene.CVolumeLightSceneNode
COctreeTriangleSelector3 types3irr.scene.COctreeTriangleSelector
CTriangleBBSelector3 types3irr.scene.CTriangleBBSelector
CMetaTriangleSelector3 types3irr.scene.CMetaTriangleSelector
CSceneNodeAnimatorRotation4 types3irr.scene.CSceneNodeAnimatorRotation
CSceneNodeAnimatorFlyCircle4 types3irr.scene.CSceneNodeAnimatorFlyCircle
CSceneNodeAnimatorFlyStraight4 types4irr.scene.CSceneNodeAnimatorFlyStraight
CSceneNodeAnimatorTexture4 types4irr.scene.CSceneNodeAnimatorTexture
CSceneNodeAnimatorCollisionResponse5 types4irr.scene.CSceneNodeAnimatorCollisionResponse
CSceneNodeAnimatorDelete4 types4irr.scene.CSceneNodeAnimatorDelete
CSceneNodeAnimatorFollowSpline4 types4irr.scene.CSceneNodeAnimatorFollowSpline
CAnimatedMeshMD24 types4irr.scene.CAnimatedMeshMD2
CAnimatedMeshMD34 types4irr.scene.CAnimatedMeshMD3
IQ3LevelMesh3 types3irr.scene.IQ3LevelMesh
CQ3LevelMesh4 types4irr.scene.CQ3LevelMesh
CLightPrefab3 types3irr.scene.CLightPrefab
CGeometryPrefab3 types3irr.scene.CGeometryPrefab
CCameraPrefab3 types3irr.scene.CCameraPrefab
CScenePrefab3 types3irr.scene.CScenePrefab
CBoneSceneNode3 types4irr.scene.CBoneSceneNode
IShadowVolumeSceneNode3 types3irr.scene.IShadowVolumeSceneNode
CShadowVolumeSceneNode4 types4irr.scene.CShadowVolumeSceneNode
CParticleAnimatedMeshSceneNodeEmitter4 types4irr.scene.CParticleAnimatedMeshSceneNodeEmitter
CParticleAttractionAffector4 types4irr.scene.CParticleAttractionAffector
CParticleBoxEmitter4 types4irr.scene.CParticleBoxEmitter
CParticleCylinderEmitter4 types4irr.scene.CParticleCylinderEmitter
CParticleFadeOutAffector4 types4irr.scene.CParticleFadeOutAffector
CParticleGravityAffector4 types4irr.scene.CParticleGravityAffector
CParticleMeshEmitter4 types4irr.scene.CParticleMeshEmitter
CParticlePointEmitter3 types3irr.scene.CParticlePointEmitter
CParticleRingEmitter4 types4irr.scene.CParticleRingEmitter
CParticleRotationAffector4 types4irr.scene.CParticleRotationAffector
CParticleScaleAffector3 types3irr.scene.CParticleScaleAffector
CParticleSphereEmitter4 types4irr.scene.CParticleSphereEmitter
CColorfAttribute3 types3irr.io.CColorfAttribute
CColorAttribute3 types3irr.io.CColorAttribute
CVector3DAttribute3 types3irr.io.CVector3DAttribute
CVector2DAttribute3 types3irr.io.CVector2DAttribute
CPosition2DAttribute3 types3irr.io.CPosition2DAttribute
CRectAttribute3 types3irr.io.CRectAttribute
CDimension2dAttribute3 types3irr.io.CDimension2dAttribute
CMatrixAttribute3 types3irr.io.CMatrixAttribute
CQuaternionAttribute3 types3irr.io.CQuaternionAttribute
CBBoxAttribute3 types3irr.io.CBBoxAttribute
CPlaneAttribute3 types3irr.io.CPlaneAttribute
CTriangleAttribute3 types3irr.io.CTriangleAttribute
CLine2dAttribute3 types3irr.io.CLine2dAttribute
CLine3dAttribute3 types3irr.io.CLine3dAttribute

Statistics

Stat   baseClasses   Depth of inheritance
Sum:0666
Average:03.3
Minimum:02
Maximum:05
Standard deviation:00.55
Variance:00.3
Constructor should not call a virtual methods
// <Name>Constructor should not call a virtual methods</Name>

// Returns constructor of a non-sealed type calling virtual methods.
// In such a situation, if a derived class overrides the method,
// then the override method will be called before the derived constructor.
// This makes the class fragile to derive from.
//
// Violations reported can be solved by re-designing object initialisation
// or by marking the parent class as sealed, if possible.

warnif count > 0
from t in Application.Types where 
   
t.IsClass &&
  
!t.IsGeneratedByCompiler

from ctor in t.Constructors 
let virtualMethodsCalled = from mCalled in ctor.MethodsCalled
                           
where mCalled.IsVirtual &&
                                
(mCalled.ParentType == t ||
                                 
t.DeriveFrom(mCalled.ParentType))
                           
select mCalled
where virtualMethodsCalled.Count() > 0

select new { ctor , 
             
virtualMethodsCalled, 
             
// If there is no derived type, it might be 
             // an opportunity to mark t as sealed.
             t.DerivedTypes }

87 methods matched

methodsvirtualMethodsCalledDerivedTypesFull Name
CD3D9HLSLMaterialRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,constc8*,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)1 method0 type__Globals.CD3D9HLSLMaterialRenderer(IDirect3DDevice9* ,video::IVideoDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE ,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
CIrrDeviceStub(constirr::SIrrlichtCreationParameters&)3 methods2 typesirr.CIrrDeviceStub.CIrrDeviceStub (constirr::SIrrlichtCreationParameters&)
CSceneNodeAnimatorCameraFPS(gui::ICursorControl*,f32,f32,f32 ,irr::SKeyMap*,u32,bool,bool)1 method0 typeirr.scene.CSceneNodeAnimatorCameraFPS.CSceneNodeAnimatorCameraFPS (gui::ICursorControl*,f32,f32,f32,irr::SKeyMap*,u32,bool,bool)
ISceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)2 methods35 typesirr.scene.ISceneNode.ISceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CSceneNodeAnimatorCameraMaya(gui::ICursorControl*,f32,f32,f32,f32)1 method0 typeirr.scene.CSceneNodeAnimatorCameraMaya.CSceneNodeAnimatorCameraMaya (gui::ICursorControl*,f32,f32,f32,f32)
CSceneManager(video::IVideoDriver*,io::IFileSystem* ,gui::ICursorControl*,irr::scene::IMeshCache*,gui::IGUIEnvironment*)4 methods0 typeirr.scene.CSceneManager.CSceneManager(video::IVideoDriver* ,io::IFileSystem*,gui::ICursorControl*,irr::scene::IMeshCache* ,gui::IGUIEnvironment*)
CVertexBuffer(video::E_VERTEX_TYPE)1 method0 typeirr.scene.CVertexBuffer.CVertexBuffer(video::E_VERTEX_TYPE)
CVertexBuffer(constirr::scene::IVertexBuffer&)6 methods0 typeirr.scene.CVertexBuffer.CVertexBuffer(constirr::scene::IVertexBuffer&)
CIndexBuffer(video::E_INDEX_TYPE)1 method0 typeirr.scene.CIndexBuffer.CIndexBuffer(video::E_INDEX_TYPE)
CIndexBuffer(constirr::scene::IIndexBuffer&)6 methods0 typeirr.scene.CIndexBuffer.CIndexBuffer(constirr::scene::IIndexBuffer&)
CColladaMeshWriter(irr::scene::ISceneManager*,video::IVideoDriver* ,io::IFileSystem*)6 methods0 typeirr.scene.CColladaMeshWriter.CColladaMeshWriter (irr::scene::ISceneManager*,video::IVideoDriver*,io::IFileSystem*)
CSphereSceneNode(f32,u32,u32,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CSphereSceneNode.CSphereSceneNode(f32,u32,u32 ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CAnimatedMeshSceneNode(irr::scene::IAnimatedMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CAnimatedMeshSceneNode.CAnimatedMeshSceneNode (irr::scene::IAnimatedMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CCameraSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CCameraSceneNode.CCameraSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&)
CLightSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,video::SColorf,f32)1 method0 typeirr.scene.CLightSceneNode.CLightSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df&,video::SColorf ,f32)
CBillboardSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)1 method0 typeirr.scene.CBillboardSceneNode.CBillboardSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)
CMeshSceneNode(irr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)1 method1 typeirr.scene.CMeshSceneNode.CMeshSceneNode(irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CSkyBoxSceneNode(video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32)1 method0 typeirr.scene.CSkyBoxSceneNode.CSkyBoxSceneNode(video::ITexture* ,video::ITexture*,video::ITexture*,video::ITexture*,video::ITexture* ,video::ITexture*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32)
CParticleSystemSceneNode(bool,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)2 methods0 typeirr.scene.CParticleSystemSceneNode.CParticleSystemSceneNode(bool ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)
CWaterSurfaceSceneNode(f32,f32,f32,irr::scene::IMesh* ,irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CWaterSurfaceSceneNode.CWaterSurfaceSceneNode(f32,f32,f32 ,irr::scene::IMesh*,irr::scene::ISceneNode*,irr::scene::ISceneManager* ,s32,constcore::vector3df&,constcore::vector3df&,constcore::vector3df& )
CTerrainSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager* ,io::IFileSystem*,s32,s32,irr::scene::E_TERRAIN_PATCH_SIZE ,constcore::vector3df&,constcore::vector3df&,constcore::vector3df&)1 method0 typeirr.scene.CTerrainSceneNode.CTerrainSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,io::IFileSystem*,s32,s32 ,irr::scene::E_TERRAIN_PATCH_SIZE,constcore::vector3df& ,constcore::vector3df&,constcore::vector3df&)
CBillboardTextSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,gui::IGUIFont*,constwchar_t* ,constcore::vector3df&,constcore::dimension2d<f32>&,video::SColor ,video::SColor)6 methods0 typeirr.scene.CBillboardTextSceneNode.CBillboardTextSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32,gui::IGUIFont* ,constwchar_t*,constcore::vector3df&,constcore::dimension2d<f32>& ,video::SColor,video::SColor)
CQuake3ShaderSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,io::IFileSystem* ,constirr::scene::IMeshBuffer*,constquake3::IShader*)1 method0 typeirr.scene.CQuake3ShaderSceneNode.CQuake3ShaderSceneNode (irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,io::IFileSystem*,constirr::scene::IMeshBuffer*,constquake3::IShader*)
CTriangleSelector(constirr::scene::IMesh*,irr::scene::ISceneNode*)1 method2 typesirr.scene.CTriangleSelector.CTriangleSelector(constirr::scene::IMesh* ,irr::scene::ISceneNode*)
CTriangleSelector(irr::scene::IAnimatedMeshSceneNode*)4 methods2 typesirr.scene.CTriangleSelector.CTriangleSelector (irr::scene::IAnimatedMeshSceneNode*)
CTerrainTriangleSelector(irr::scene::ITerrainSceneNode*,s32)1 method0 typeirr.scene.CTerrainTriangleSelector.CTerrainTriangleSelector (irr::scene::ITerrainSceneNode*,s32)
CAnimatedMeshMD3()1 method0 typeirr.scene.CAnimatedMeshMD3.CAnimatedMeshMD3()
CQ3LevelMesh(io::IFileSystem*,scene::ISceneManager* ,constquake3::Q3LevelLoadParameter&)1 method0 typeirr.scene.CQ3LevelMesh.CQ3LevelMesh(io::IFileSystem* ,scene::ISceneManager*,constquake3::Q3LevelLoadParameter&)
CBoneSceneNode(irr::scene::ISceneNode*,irr::scene::ISceneManager*,s32 ,u32,constc8*)1 method0 typeirr.scene.CBoneSceneNode.CBoneSceneNode(irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,u32,constc8*)
CShadowVolumeSceneNode(constirr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,bool,f32)1 method0 typeirr.scene.CShadowVolumeSceneNode.CShadowVolumeSceneNode (constirr::scene::IMesh*,irr::scene::ISceneNode* ,irr::scene::ISceneManager*,s32,bool,f32)
CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)1 method0 typeirr.scene.CParticleAnimatedMeshSceneNodeEmitter .CParticleAnimatedMeshSceneNodeEmitter (irr::scene::IAnimatedMeshSceneNode*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)
CParticleMeshEmitter(irr::scene::IMesh*,bool,constcore::vector3df&,f32 ,s32,bool,u32,u32,constvideo::SColor&,constvideo::SColor&,u32,u32,s32 ,constcore::dimension2df&,constcore::dimension2df&)1 method0 typeirr.scene.CParticleMeshEmitter.CParticleMeshEmitter(irr::scene::IMesh* ,bool,constcore::vector3df&,f32,s32,bool,u32,u32,constvideo::SColor& ,constvideo::SColor&,u32,u32,s32,constcore::dimension2df& ,constcore::dimension2df&)
CBoolAttribute(constchar*,bool)1 method0 typeirr.io.CBoolAttribute.CBoolAttribute(constchar*,bool)
CIntAttribute(constchar*,s32)1 method0 typeirr.io.CIntAttribute.CIntAttribute(constchar*,s32)
CFloatAttribute(constchar*,f32)1 method0 typeirr.io.CFloatAttribute.CFloatAttribute(constchar*,f32)
CEnumAttribute(constchar*,constchar*,constchar*const*)1 method0 typeirr.io.CEnumAttribute.CEnumAttribute(constchar*,constchar* ,constchar*const*)
CStringAttribute(constchar*,constchar*)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,constchar*)
CStringAttribute(constchar*,constwchar_t*)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,constwchar_t*)
CStringAttribute(constchar*,void*,s32)1 method1 typeirr.io.CStringAttribute.CStringAttribute(constchar*,void*,s32)
CTextureAttribute(constchar*,video::ITexture*,video::IVideoDriver* ,constio::path&)1 method0 typeirr.io.CTextureAttribute.CTextureAttribute(constchar*,video::ITexture* ,video::IVideoDriver*,constio::path&)
CStringWArrayAttribute(constchar*,constcore::array<core::stringw>&)1 method0 typeirr.io.CStringWArrayAttribute.CStringWArrayAttribute(constchar* ,constcore::array<core::stringw>&)
CFileSystem()2 methods0 typeirr.io.CFileSystem.CFileSystem()
CZipReader(irr::io::IReadFile*,bool,bool,bool)2 methods0 typeirr.io.CZipReader.CZipReader(irr::io::IReadFile*,bool,bool,bool)
CMountPointReader(irr::io::IFileSystem*,constio::path&,bool,bool)3 methods0 typeirr.io.CMountPointReader.CMountPointReader(irr::io::IFileSystem* ,constio::path&,bool,bool)
CPakReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CPakReader.CPakReader(irr::io::IReadFile*,bool,bool)
CNPKReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CNPKReader.CNPKReader(irr::io::IReadFile*,bool,bool)
CTarReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CTarReader.CTarReader(irr::io::IReadFile*,bool,bool)
CWADReader(irr::io::IReadFile*,bool,bool)2 methods0 typeirr.io.CWADReader.CWADReader(irr::io::IReadFile*,bool,bool)
CGUIColorSelectDialog(constwchar_t*,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32)18 methods0 typeirr.gui.CGUIColorSelectDialog.CGUIColorSelectDialog(constwchar_t* ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32)
CGUIComboBox(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)13 methods0 typeirr.gui.CGUIComboBox.CGUIComboBox(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIListBox(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool,bool)6 methods0 typeirr.gui.CGUIListBox.CGUIListBox(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool,bool)
CGUIContextMenu(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool)2 methods1 typeirr.gui.CGUIContextMenu.CGUIContextMenu(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool)
CGUIEditBox(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&)1 method0 typeirr.gui.CGUIEditBox.CGUIEditBox(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&)
CGUIEnvironment(io::IFileSystem*,video::IVideoDriver* ,irr::IOSOperator*)4 methods0 typeirr.gui.CGUIEnvironment.CGUIEnvironment(io::IFileSystem* ,video::IVideoDriver*,irr::IOSOperator*)
CGUIWindow(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)6 methods1 typeirr.gui.CGUIWindow.CGUIWindow(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIScrollBar(bool,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,s32,core::rect<s32>,bool)1 method0 typeirr.gui.CGUIScrollBar.CGUIScrollBar(bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool)
CGUIFont(irr::gui::IGUIEnvironment*,constio::path&)4 methods0 typeirr.gui.CGUIFont.CGUIFont(irr::gui::IGUIEnvironment*,constio::path&)
CGUISpriteBank(irr::gui::IGUIEnvironment*)1 method0 typeirr.gui.CGUISpriteBank.CGUISpriteBank(irr::gui::IGUIEnvironment*)
CGUITreeView(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>,bool,bool,bool,bool)4 methods0 typeirr.gui.CGUITreeView.CGUITreeView(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>,bool,bool,bool,bool)
CGUIFileOpenDialog(constwchar_t*,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,bool,io::path::char_type*)15 methods0 typeirr.gui.CGUIFileOpenDialog.CGUIFileOpenDialog(constwchar_t* ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,bool ,io::path::char_type*)
CGUIStaticText(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&,bool)2 methods0 typeirr.gui.CGUIStaticText.CGUIStaticText(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&,bool)
CGUISpinBox(constwchar_t*,bool,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&)3 methods0 typeirr.gui.CGUISpinBox.CGUISpinBox(constwchar_t*,bool ,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32,constcore::rect <s32>&)
CGUIInOutFader(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)1 method0 typeirr.gui.CGUIInOutFader.CGUIInOutFader(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIMessageBox(irr::gui::IGUIEnvironment*,constwchar_t*,constwchar_t* ,s32,irr::gui::IGUIElement*,s32,core::rect<s32>,video::ITexture*)5 methods0 typeirr.gui.CGUIMessageBox.CGUIMessageBox(irr::gui::IGUIEnvironment* ,constwchar_t*,constwchar_t*,s32,irr::gui::IGUIElement*,s32,core::rect <s32>,video::ITexture*)
CGUITab(s32,irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,constcore::rect<s32>&,s32)2 methods0 typeirr.gui.CGUITab.CGUITab(s32,irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,constcore::rect<s32>&,s32)
CGUITabControl(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement* ,constcore::rect<s32>&,bool,bool,s32)10 methods0 typeirr.gui.CGUITabControl.CGUITabControl(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,constcore::rect<s32>&,bool,bool,s32)
CGUIMenu(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)1 method0 typeirr.gui.CGUIMenu.CGUIMenu(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUIToolBar(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,core::rect<s32>)3 methods0 typeirr.gui.CGUIToolBar.CGUIToolBar(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,core::rect<s32>)
CGUITable(irr::gui::IGUIEnvironment*,irr::gui::IGUIElement*,s32 ,constcore::rect<s32>&,bool,bool,bool)3 methods0 typeirr.gui.CGUITable.CGUITable(irr::gui::IGUIEnvironment* ,irr::gui::IGUIElement*,s32,constcore::rect<s32>&,bool,bool,bool)
CNullDriver(io::IFileSystem*,constcore::dimension2d<u32>&)4 methods4 typesirr.video.CNullDriver.CNullDriver(io::IFileSystem* ,constcore::dimension2d<u32>&)
CSoftwareDriver(constcore::dimension2d<u32>&,bool,io::IFileSystem* ,video::IImagePresenter*)3 methods0 typeirr.video.CSoftwareDriver.CSoftwareDriver(constcore::dimension2d<u32>& ,bool,io::IFileSystem*,video::IImagePresenter*)
CSoftwareTexture(irr::video::IImage*,constio::path&,bool,void*)3 methods0 typeirr.video.CSoftwareTexture.CSoftwareTexture(irr::video::IImage* ,constio::path&,bool,void*)
CSoftwareTexture2(irr::video::IImage*,constio::path&,u32,void*)6 methods0 typeirr.video.CSoftwareTexture2.CSoftwareTexture2(irr::video::IImage* ,constio::path&,u32,void*)
CZBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CZBuffer.CZBuffer(constcore::dimension2d<u32>&)
COpenGLTexture(irr::video::IImage*,constio::path&,void* ,irr::video::COpenGLDriver*)4 methods2 typesirr.video.COpenGLTexture.COpenGLTexture(irr::video::IImage* ,constio::path&,void*,irr::video::COpenGLDriver*)
COpenGLFBOTexture(constcore::dimension2d<u32>&,constio::path& ,irr::video::COpenGLDriver*,irr::video::ECOLOR_FORMAT)3 methods0 typeirr.video.COpenGLFBOTexture.COpenGLFBOTexture(constcore::dimension2d <u32>&,constio::path&,irr::video::COpenGLDriver* ,irr::video::ECOLOR_FORMAT)
COpenGLSLMaterialRenderer(irr::video::COpenGLDriver*,s32&,constc8* ,constc8*,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)1 method0 typeirr.video.COpenGLSLMaterialRenderer.COpenGLSLMaterialRenderer (irr::video::COpenGLDriver*,s32&,constc8*,constc8* ,irr::video::E_VERTEX_SHADER_TYPE,constc8*,constc8* ,irr::video::E_PIXEL_SHADER_TYPE,constc8*,constc8* ,irr::video::E_GEOMETRY_SHADER_TYPE,scene::E_PRIMITIVE_TYPE ,scene::E_PRIMITIVE_TYPE,u32,irr::video::IShaderConstantSetCallBack* ,irr::video::IMaterialRenderer*,s32)
COpenGLNormalMapRenderer(video::COpenGLDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.COpenGLNormalMapRenderer.COpenGLNormalMapRenderer (video::COpenGLDriver*,s32&,irr::video::IMaterialRenderer*)
COpenGLParallaxMapRenderer(video::COpenGLDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.COpenGLParallaxMapRenderer.COpenGLParallaxMapRenderer (video::COpenGLDriver*,s32&,irr::video::IMaterialRenderer*)
CD3D9Texture(irr::video::IImage*,irr::video::CD3D9Driver*,u32 ,constio::path&,void*)3 methods0 typeirr.video.CD3D9Texture.CD3D9Texture(irr::video::IImage* ,irr::video::CD3D9Driver*,u32,constio::path&,void*)
CD3D9Texture(irr::video::CD3D9Driver*,constcore::dimension2d<u32>& ,constio::path&,constirr::video::ECOLOR_FORMAT)1 method0 typeirr.video.CD3D9Texture.CD3D9Texture(irr::video::CD3D9Driver* ,constcore::dimension2d<u32>&,constio::path& ,constirr::video::ECOLOR_FORMAT)
CD3D9NormalMapRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.CD3D9NormalMapRenderer.CD3D9NormalMapRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)
CD3D9ParallaxMapRenderer(IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)3 methods0 typeirr.video.CD3D9ParallaxMapRenderer.CD3D9ParallaxMapRenderer (IDirect3DDevice9*,video::IVideoDriver*,s32& ,irr::video::IMaterialRenderer*)
CDepthBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CDepthBuffer.CDepthBuffer(constcore::dimension2d<u32>&)
CStencilBuffer(constcore::dimension2d<u32>&)1 method0 typeirr.video.CStencilBuffer.CStencilBuffer(constcore::dimension2d<u32>&)
IBurningShader(irr::video::CBurningVideoDriver*)2 methods21 typesirr.video.IBurningShader.IBurningShader (irr::video::CBurningVideoDriver*)
CBurningVideoDriver(constirr::SIrrlichtCreationParameters& ,io::IFileSystem*,video::IImagePresenter*)5 methods0 typeirr.video.CBurningVideoDriver.CBurningVideoDriver (constirr::SIrrlichtCreationParameters&,io::IFileSystem* ,video::IImagePresenter*)

Statistics

Stat   virtualMethodsCalled   DerivedTypes
Sum:00
Average:00
Minimum:00
Maximum:00
Standard deviation:00
Variance:00
Avoid the Singleton pattern
//<Name>Avoid the Singleton pattern</Name>
warnif count > 0
from t in Application.Types
where !t.IsStatic && !t.IsAbstract && (t.IsClass || t.IsStructure)

// All ctors of a singleton are private
where t.Constructors.Where(ctor => !ctor.IsPrivate).Count() == 0

// A singleton contains one static field of its parent type, to reference the unique instance
let staticFieldInstances = t.StaticFields.WithFieldType(t)
where staticFieldInstances.Count() == 1
select new { t, staticFieldInstance = staticFieldInstances.First() }

// The Singleton pattern consists in syntactically enforcing that a class 
// has just one unique instance.
// At first glance, this pattern looks appealing and it is widely used.
// However, we discourage you from using singleton classes because experience
// shows that singletons often result in less testable and less maintainable code.
// More details available in these discussions:
//  http://codebetter.com/patricksmacchia/2011/05/04/back-to-basics-usage-of-static-members/
//  http://adamschepis.com/blog/2011/05/02/im-adam-and-im-a-recovering-singleton-addict/

No types matched

Don't assign static fields from instance methods
// <Name>Don't assign static fields from instance methods</Name>
// Assigning static fields from instance methods leads to
// poorly maintainable and non thread-safe code.
// It is advised to assign static fields inline or from class constructor.
warnif count > 0
from f in Application.Fields where 
  
f.IsStatic &&
 
!f.IsGeneratedByCompiler && !f.IsGlobal
 
let assignedBy = f.MethodsAssigningMe.Where(m => !m.IsStatic)
where assignedBy .Count() > 0
select new { f, assignedBy }

2 fields matched

fieldsassignedByFull Name
Logger1 methodirr.os.Printer.Logger
NDCPlane1 methodirr.video.CBurningVideoDriver.NDCPlane

Statistics

Stat   assignedBy
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0
Avoid Abstract Classes with too many methods
// <Name>Avoid Abstract Classes with too many methods</Name>
// An abstract class  should abstract a clear and well-defined concept.
// Such concept shoudln't be represented with too many methods and property getter.
warnif count > 0 from t in JustMyCode.Types where 
  
t.IsAbstract
let methodsAndGetters = t.Methods
where methodsAndGetters.Count() > 10
select new { t, methodsAndGetters }

51 types matched

typesmethodsAndGettersFull Name
ITimer12 methodsirr.ITimer
IrrlichtDevice39 methodsirr.IrrlichtDevice
ISceneNodeAnimatorCameraFPS11 methodsirr.scene.ISceneNodeAnimatorCameraFPS
ISceneNode56 methodsirr.scene.ISceneNode
ICameraSceneNode30 methodsirr.scene.ICameraSceneNode
ISceneNodeAnimatorCollisionResponse22 methodsirr.scene.ISceneNodeAnimatorCollisionResponse
IMeshBuffer29 methodsirr.scene.IMeshBuffer
ISkinnedMesh23 methodsirr.scene.ISkinnedMesh
ISceneManager101 methodsirr.scene.ISceneManager
IGeometryCreator11 methodsirr.scene.IGeometryCreator
ITerrainSceneNode20 methodsirr.scene.ITerrainSceneNode
IAnimatedMeshSceneNode28 methodsirr.scene.IAnimatedMeshSceneNode
IParticleEmitter24 methodsirr.scene.IParticleEmitter
IParticleAnimatedMeshSceneNodeEmitter11 methodsirr.scene.IParticleAnimatedMeshSceneNodeEmitter
IParticleCylinderEmitter13 methodsirr.scene.IParticleCylinderEmitter
IParticleMeshEmitter11 methodsirr.scene.IParticleMeshEmitter
IParticleAttractionAffector13 methodsirr.scene.IParticleAttractionAffector
IParticleSystemSceneNode23 methodsirr.scene.IParticleSystemSceneNode
ILightSceneNode12 methodsirr.scene.ILightSceneNode
IMeshCache20 methodsirr.scene.IMeshCache
IMeshManipulator36 methodsirr.scene.IMeshManipulator
CVertexBuffer+IVertexList12 methodsirr.scene.CVertexBuffer+IVertexList
CIndexBuffer+IIndexList13 methodsirr.scene.CIndexBuffer+IIndexList
IVolumeLightSceneNode11 methodsirr.scene.IVolumeLightSceneNode
IIrrXMLReader<char_type,super_class>17 methodsirr.io.IIrrXMLReader<char_type,super_class>
IAttributes140 methodsirr.io.IAttributes
IFileList13 methodsirr.io.IFileList
IFileSystem40 methodsirr.io.IFileSystem
IAttribute58 methodsirr.io.IAttribute
ICursorControl18 methodsirr.gui.ICursorControl
IGUISkin25 methodsirr.gui.IGUISkin
IGUIEnvironment62 methodsirr.gui.IGUIEnvironment
IGUIFont11 methodsirr.gui.IGUIFont
IGUISpriteBank12 methodsirr.gui.IGUISpriteBank
IGUIButton21 methodsirr.gui.IGUIButton
IGUIComboBox14 methodsirr.gui.IGUIComboBox
IGUIContextMenu24 methodsirr.gui.IGUIContextMenu
IGUIEditBox23 methodsirr.gui.IGUIEditBox
IGUIListBox28 methodsirr.gui.IGUIListBox
IGUIScrollBar12 methodsirr.gui.IGUIScrollBar
IGUISpinBox11 methodsirr.gui.IGUISpinBox
IGUIStaticText24 methodsirr.gui.IGUIStaticText
IGUITabControl20 methodsirr.gui.IGUITabControl
IGUIWindow12 methodsirr.gui.IGUIWindow
IGUITreeViewNode40 methodsirr.gui.IGUITreeViewNode
IGUITreeView12 methodsirr.gui.IGUITreeView
IImage26 methodsirr.video.IImage
ITexture15 methodsirr.video.ITexture
IVideoDriver123 methodsirr.video.IVideoDriver
IGPUProgrammingServices15 methodsirr.video.IGPUProgrammingServices
IMaterialRendererServices12 methodsirr.video.IMaterialRendererServices

Statistics

Stat   methodsAndGetters
Sum:0
Average:0
Minimum:0
Maximum:0
Standard deviation:0
Variance:0

API Breaking Changes

API Breaking Changes: Types
// <Name>API Breaking Changes: Types</Name>
// This rule warns if a publicly visible type is 
// not publicly visible anymore or if it has been removed.
// Such type can break the code of your clients.

warnif count > 0 from t in codeBase.OlderVersion().Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasRemoved() && !t.ParentProject.WasRemoved()) ||

     
// ... or the type is not publicly visible anymore
       !t.WasRemoved() && !t.NewerVersion().IsPublic)

select new { t,
             
NewVisibility = (t.WasRemoved() ? " " : t.NewerVersion().Visibility.ToString()) }

No types matched

API Breaking Changes: Methods
// <Name>API Breaking Changes: Methods</Name>
// This rule warns if a publicly visible method is 
// not publicly visible anymore or if it has been removed.
// Such method can break the code of your clients.

warnif count > 0 from m in codeBase.OlderVersion().Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent type hasn't been removed ...
     ( (m.WasRemoved() && !m.ParentType.WasRemoved()) ||

     
// ... or the method is not publicly visible anymore
       !m.WasRemoved() && !m.NewerVersion().IsPublic)

select new { m,
             
NewVisibility = (m.WasRemoved() ? " " : m.NewerVersion().Visibility.ToString()) }

No methods matched

API Breaking Changes: Fields
// <Name>API Breaking Changes: Fields</Name>
// This rule warns if a publicly visible field is 
// not publicly visible anymore or if it has been removed.
// Such field can break the code of your clients.

warnif count > 0 from f in codeBase.OlderVersion().Application.Fields
where f.IsPublic &&

     
// The field has been removed and its parent type hasn't been removed ...
     ( (f.WasRemoved() && !f.ParentType.WasRemoved()) ||

     
// ... or the field is not publicly visible anymore
       !f.WasRemoved() && !f.NewerVersion().IsPublic)

select new { f,
             
NewVisibility = (f.WasRemoved() ? " " : f.NewerVersion().Visibility.ToString()) }

No fields matched

API Breaking Changes: Interfaces and Abstract Classes
// <Name>API Breaking Changes: Interfaces and Abstract Classes</Name>
// This rule warns if a publicly visible interface or abstract class 
// has been changed and contains new abstract methods or 
// if some abstract methods have been removed.
// This can break the code of clients 
// that implement such interface or derive from such abstract class.

warnif count > 0 from tNewer in Application.Types where 
 
(tNewer.IsInterface || tNewer.IsClass && tNewer.IsAbstract) && 
  
tNewer.IsPublic && 
  
tNewer.IsPresentInBothBuilds()

let tOlder = tNewer.OlderVersion() where tOlder.IsPublic

let methodsRemoved = tOlder.Methods.Where(m => m.IsAbstract && m.WasRemoved())
let methodsAdded = tNewer.Methods.Where(m => m.IsAbstract && m.WasAdded())

where methodsAdded.Count() > 0 || methodsRemoved.Count() > 0
select new { tNewer, methodsAdded, methodsRemoved }

No types matched

Avoid transforming immutable types into mutable types
// <Name>Avoid transforming immutable types into mutable types</Name>

// Immutability is a strong property on a type.
// Breaking immutability can result in serious problem for an algorithm consummer
// that has been written taking account of the type immutability.

// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

warnif count > 0 
from t in Application.Types where
  
t.IsPresentInBothBuilds() &&
 
!t.IsStatic &&
 
!t.IsImmutable && 
  
t.OlderVersion().IsImmutable

let mutableFields = from f in t.InstanceFields where !f.IsImmutable select f

select new { t, mutableFields }

No types matched

API: New publicly visible types
// <Name>API: New publicly visible types</Name>
// List types that are new in the public surface of your Projects

from t in Application.Types
where t.IsPublic && 

     
// The type has been removed and its parent project hasn't been removed ...
     ( (t.WasAdded() && !t.ParentProject.WasAdded()) ||

     
// ... or the type existed but was not publicly visible
       !t.WasAdded() && !t.OlderVersion().IsPublic)

select new { t,
             
OldVisibility = (t.WasAdded() ? " " : t.OlderVersion().Visibility.ToString()) }

No types matched

API: New publicly visible methods
// <Name>API: New publicly visible methods</Name>
// List methods that are new in the public surface of your Projects

from m in Application.Methods
where m.IsPublic && 

     
// The method has been removed and its parent project hasn'm been removed ...
     ( (m.WasAdded() && !m.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !m.WasAdded() && !m.OlderVersion().IsPublic)

select new { m,
             
OldVisibility = (m.WasAdded() ? " " : m.OlderVersion().Visibility.ToString()) }

No methods matched

API: New publicly visible fields
// <Name>API: New publicly visible fields</Name>
// List fields that are new in the public surface of your Projects

from f in Application.Fields
where f.IsPublic && 

     
// The method has been removed and its parent project hasn'f been removed ...
     ( (f.WasAdded() && !f.ParentType.WasAdded()) ||

     
// ... or the t existed but was not publicly visible
       !f.WasAdded() && !f.OlderVersion().IsPublic)

select new { f,
             
OldVisibility = (f.WasAdded() ? " " : f.OlderVersion().Visibility.ToString()) }

No fields matched

Code Diff Summary

New Projects
// <Name>New Projects</Name>
from a in Application.Projects where a.WasAdded()
select new { a, a.NbLinesOfCode }

No projects matched

Projects removed
// <Name>Projects removed</Name>
from a in codeBase.OlderVersion().Application.Projects where a.WasRemoved()
select new { a, a.NbLinesOfCode }

No projects matched

Projects where code was changed
// <Name>Projects where code was changed</Name>
from a in Application.Projects where a.CodeWasChanged()
select new { a, a.NbLinesOfCode, 
             
oldNbLinesOfCode = a.OlderVersion().NbLinesOfCode ,
             
delta = (int) a.NbLinesOfCode - a.OlderVersion().NbLinesOfCode }

No projects matched

New namespaces
// <Name>New namespaces</Name>
from n in Application.Namespaces where 
 
!n.ParentProject.WasAdded() &&
  
n.WasAdded()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces removed
// <Name>Namespaces removed</Name>
from n in codeBase.OlderVersion().Application.Namespaces where 
 
!n.ParentProject.WasRemoved() &&
  
n.WasRemoved()
select new { n, n.NbLinesOfCode }

No namespaces matched

Namespaces where code was changed
// <Name>Namespaces where code was changed</Name>
from n in Application.Namespaces where n.CodeWasChanged()
select new { n, n.NbLinesOfCode, 
             
oldNbLinesOfCode = n.OlderVersion().NbLinesOfCode ,
             
delta = (int) n.NbLinesOfCode - n.OlderVersion().NbLinesOfCode }

No namespaces matched

New types
// <Name>New types</Name>
from t in Application.Types where 
 
!t.ParentNamespace.WasAdded() &&
  
t.WasAdded()
select new { t, t.NbLinesOfCode }

No types matched

Types removed
// <Name>Types removed</Name>
from t in codeBase.OlderVersion().Application.Types where 
 
!t.ParentNamespace.WasRemoved() &&
  
t.WasRemoved()
select new { t, t.NbLinesOfCode }

No types matched

Types where code was changed
// <Name>Types where code was changed</Name>
// To visualize changes in code, right-click a matched type and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from t in Application.Types where t.CodeWasChanged() 
//select new { t, t.NbLinesOfCode }
select new { t, t.NbLinesOfCode, 
             
oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             
delta = (int?) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode } 
/*from t in Application.Types where t.CodeWasChanged() && t.IsPresentInBothBuild
select new { t, t.NbLinesOfCode, 
             oldNbLinesOfCode = t.OlderVersion().NbLinesOfCode ,
             delta = (int) t.NbLinesOfCode - t.OlderVersion().NbLinesOfCode }*/

No types matched

Heuristic to find types moved from one namespace or project to another
// <Name>Heuristic to find types moved from one namespace or project to another</Name>
let typesRemoved = codeBase.OlderVersion().Types.Where(t => t.WasRemoved())
let typesAdded = Types.Where(t => t.WasAdded())

from tMoved in typesAdded.Join(
   
typesRemoved,
   
t => t.Name,
   
t => t.Name,
   
(tNewer, tOlder) => new { tNewer, 
                             
OlderParentNamespace = tOlder.ParentNamespace,
                             
OlderParentproject = tOlder.ParentProject  } ) 
select tMoved

No types matched

Types directly using one or several types changed
// <Name>Types directly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

from t in JustMyCode.Types.UsingAny(typesChanged) where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()
let typesChangedUsed = t.TypesUsed.Intersect(typesChanged) 
select new { t, typesChangedUsed }

No types matched

Types indirectly using one or several types changed
// <Name>Types indirectly using one or several types changed</Name>
let typesChanged = Application.Types.Where(t => t.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on types using
// directly or indirectly any type where code was changed.
let depth = JustMyCode.Types.DepthOfIsUsingAny(typesChanged) 

from t in depth.DefinitionDomain where
  
!t.CodeWasChanged() && 
  
!t.WasAdded()

let typesChangedDirectlyUsed = t.TypesUsed.Intersect(typesChanged) 
let depthOfUsingTypesChanged = depth[t]
orderby depthOfUsingTypesChanged 

select new { t, depthOfUsingTypesChanged, typesChangedDirectlyUsed }

No types matched

New methods
// <Name>New methods</Name>
from m in Application.Methods where 
 
!m.ParentType.WasAdded() &&
  
m.WasAdded()
select new { m, m.NbLinesOfCode }

No methods matched

Methods removed
// <Name>Methods removed</Name>
from m in codeBase.OlderVersion().Application.Methods where 
 
!m.ParentType.WasRemoved() &&
  
m.WasRemoved()
select new { m, m.NbLinesOfCode }

No methods matched

Methods where code was changed
// <Name>Methods where code was changed</Name>
// To visualize changes in code, right-click a matched method and select:
//  - Compare older and newer versions of source file
//  - Compare older and newer versions disassembled with Reflector

from m in Application.Methods where m.CodeWasChanged()
select new { m, m.NbLinesOfCode, 
             
oldNbLinesOfCode = m.OlderVersion().NbLinesOfCode ,
             
delta = (int?) m.NbLinesOfCode - m.OlderVersion().NbLinesOfCode }

No methods matched

Methods directly calling one or several methods changed
// <Name>Methods directly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

from m in JustMyCode.Methods.UsingAny(methodsChanged ) where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()
let methodsChangedCalled = m.MethodsCalled.Intersect(methodsChanged) 
select new { m, methodsChangedCalled }

No methods matched

Methods indirectly calling one or several methods changed
// <Name>Methods indirectly calling one or several methods changed</Name>
let methodsChanged = Application.Methods.Where(m => m.CodeWasChanged()).ToHashSet()

// 'depth' represents a code metric defined on methods using
// directly or indirectly any method where code was changed.
let depth = JustMyCode.Methods.DepthOfIsUsingAny(methodsChanged) 

from m in depth.DefinitionDomain where
  
!m.CodeWasChanged() && 
  
!m.WasAdded()

let methodsChangedDirectlyUsed = m.MethodsCalled.Intersect(methodsChanged) 
let depthOfUsingMethodsChanged = depth[m]
orderby depthOfUsingMethodsChanged 

select new { m, depthOfUsingMethodsChanged, methodsChangedDirectlyUsed }

No methods matched

New fields
// <Name>New fields</Name>
from f in Application.Fields where 
 
!f.ParentType.WasAdded() &&
  
f.WasAdded()
select new { f }

No fields matched

Fields removed
// <Name>Fields removed</Name>
from f in codeBase.OlderVersion().Application.Fields where 
 
!f.ParentType.WasRemoved() &&
  
f.WasRemoved()
select new { f }

No fields matched

Third party types that were not used and that are now used
// <Name>Third party types that were not used and that are now used</Name>
from t in ThirdParty.Types where t.IsUsedRecently()
select new { t, t.Methods, t.Fields } 

No types matched

Third party types that were used and that are not used anymore
// <Name>Third party types that were used and that are not used anymore</Name>
from t in codeBase.OlderVersion().Types where t.IsNotUsedAnymore()
select new { t, t.Methods, t.Fields }  

No types matched

Third party methods that were not used and that are now used
// <Name>Third party methods that were not used and that are now used</Name>
from m in ThirdParty.Methods where 
  
m.IsUsedRecently() &&
 
!m.ParentType.IsUsedRecently()
select m

No methods matched

Third party methods that were used and that are not used anymore
// <Name>Third party methods that were used and that are not used anymore</Name>
from m in codeBase.OlderVersion().Methods where 
  
m.IsNotUsedAnymore() &&
 
!m.ParentType.IsNotUsedAnymore()
select m

No methods matched

Third party fields that were not used and that are now used
// <Name>Third party fields that were not used and that are now used</Name>
from f in ThirdParty.Fields where 
  
f.IsUsedRecently() &&
 
!f.ParentType.IsUsedRecently()
select f

No fields matched

Third party fields that were used and that are not used anymore
// <Name>Third party fields that were used and that are not used anymore</Name>
from f in codeBase.OlderVersion().Fields where 
  
f.IsNotUsedAnymore() &&
 
!f.ParentType.IsNotUsedAnymore()
select f

No fields matched

Dead Code

Potentially dead Types
// <Name>Potentially dead Types</Name>
warnif count > 0

let tt=Types.UsedByAny(Application.Methods).ToHashSet()
// Select types unused
let typesUnused = 
   
from t in JustMyCode.Types where
   
t.NbTypesUsingMe == 0 && !t.IsGlobal  select t



from t in typesUnused  where !tt.Contains(t)
select new { t }
        
        

37 types matched

typesFull Name
HPBUFFERARB__HPBUFFERARB__
HPBUFFEREXT__HPBUFFEREXT__
HVIDEOOUTPUTDEVICENV__HVIDEOOUTPUTDEVICENV__
HPVIDEODEV__HPVIDEODEV__
HPGPUNV__HPGPUNV__
HGPUNV__HGPUNV__
_GPU_DEVICE_GPU_DEVICE
HVIDEOINPUTDEVICENV__HVIDEOINPUTDEVICENV__
gzFile_sgzFile_s
internal_stateinternal_state
AnonymousAnonymous
multiplier_tablemultiplier_table
irrAllocatorFast<T>irr.core.irrAllocatorFast<T>
eMD3Modelsirr.scene.eMD3Models
EMD3_ANIMATION_TYPEirr.scene.EMD3_ANIMATION_TYPE
SMD3AnimationInfoirr.scene.SMD3AnimationInfo
studioseqhdr_tirr.scene.studioseqhdr_t
mstudioevent_tirr.scene.mstudioevent_t
mstudiopivot_tirr.scene.mstudiopivot_t
COCTLoader+octHeaderExirr.scene.COCTLoader+octHeaderEx
SMD3Frameirr.scene.SMD3Frame
CQ3LevelMesh+eBspSurfaceTypeirr.scene.CQ3LevelMesh+eBspSurfaceType
CQ3LevelMesh+tBSPVisDatairr.scene.CQ3LevelMesh+tBSPVisData
CQ3LevelMesh+tBSPBrushSideirr.scene.CQ3LevelMesh+tBSPBrushSide
CQ3LevelMesh+tBSPLightsirr.scene.CQ3LevelMesh+tBSPLights
SMD2GLCommandirr.scene.SMD2GLCommand
SModifierFunction+Anonymousirr.scene.quake3.SModifierFunction+Anonymous
IShaderManagerirr.scene.quake3.IShaderManager
IXMLBaseirr.io.IXMLBase
E_LOST_RESOURCEirr.video.E_LOST_RESOURCE
CD3D9Driver+E_CACHE_2D_ATTRIBUTESirr.video.CD3D9Driver+E_CACHE_2D_ATTRIBUTES
sVec4+Anonymousirr.video.sVec4+Anonymous
sVec4+Anonymous+Anonymousirr.video.sVec4+Anonymous+Anonymous
sVec3+Anonymousirr.video.sVec3+Anonymous
sVec3+Anonymous+Anonymousirr.video.sVec3+Anonymous+Anonymous
s4DVertex_proxyirr.video.s4DVertex_proxy
CBurningShader_REFERENCEirr.video.CBurningShader_REFERENCE

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:
Potentially dead Methods
// <Name>Potentially dead Methods</Name>
warnif count > 0
// Filter procedure for methods that should'nt be considered as dead
let canMethodBeConsideredAsDeadProc = new Func<IMethod, bool>(
    
m => !m.IsPublic &&       // Public methods might be used by client applications of your Projects.
         !m.IsEntryPoint &&            // Main() method is not used by-design.
         !m.IsClassConstructor &&      
         
!m.IsVirtual &&               // Only check for non virtual method that are not seen as used in IL.
         !(m.IsConstructor &&          // Don't take account of protected ctor that might be call by a derived ctors.
           m.IsProtected) &&
         
!m.NameLike (@"^On") &&        //Exclude Events like MFC ones
         !m.IsGeneratedByCompiler
)

// Get methods unused
let methodsUnused = 
   
from m in JustMyCode.Methods where 
   
m.NbMethodsCallingMe == 0 && 
   
canMethodBeConsideredAsDeadProc(m)
   
select m

// Dead methods = methods used only by unused methods (recursive)
let deadMethodsMetric = methodsUnused.FillIterative(
   
methods => // Unique loop, just to let a chance to build the hashset.
              from o in new[] { new object() }
              
// Use a hashet to make Intersect calls much faster!
              let hashset = methods.ToHashSet()
              
from m in codeBase.Application.Methods.UsedByAny(methods).Except(methods)
              
where canMethodBeConsideredAsDeadProc(m) &&
                    
// Select methods called only by methods already considered as dead
                    hashset.Intersect(m.MethodsCallingMe).Count() == m.NbMethodsCallingMe
              
select m)

from m in JustMyCode.Methods.Intersect(deadMethodsMetric.DefinitionDomain)
select new { m, m.MethodsCallingMe, depth = deadMethodsMetric[m] }

38 methods matched

methodsMethodsCallingMedepthFull Name
map<KeyType,ValueType>(constmap<KeyType,ValueType>&)0 method0irr.core.map<KeyType,ValueType>.map<KeyType,ValueType>(constmap <KeyType,ValueType>&)
operator=(constmap<KeyType,ValueType>&)0 method0irr.core.map<KeyType,ValueType>.operator=(constmap<KeyType,ValueType>& )
insert(Node*)0 method0irr.core.map<KeyType,ValueType>.insert(Node*)
RBTree<KeyTypeRB,ValueTypeRB>()0 method0irr.core.map<KeyType,ValueType>+RBTree.RBTree<KeyTypeRB,ValueTypeRB>()
AccessClass(map<KeyType,ValueType>&,constKeyType&)0 method0irr.core.map<KeyType,ValueType>+AccessClass.AccessClass(map<KeyType ,ValueType>&,constKeyType&)
animate()0 method0irr.scene.CSceneNodeAnimatorCameraMaya.animate()
apply_<Functor>(constFunctor&,irr::scene::IMeshBuffer*,bool ,constirr::scene::IVertexManipulator&)0 method0irr.scene.IMeshManipulator.apply_<Functor>(constFunctor& ,irr::scene::IMeshBuffer*,bool,constirr::scene::IVertexManipulator&)
readMaterial(io::IXMLReader*)0 method0irr.scene.CIrrMeshFileLoader.readMaterial(io::IXMLReader*)
readFloatsInsideElement(io::IXMLReader*,f32*,u32)0 method0irr.scene.CIrrMeshFileLoader.readFloatsInsideElement(io::IXMLReader* ,f32*,u32)
dumpModelInfo(u32)0 method0irr.scene.CAnimatedMeshHalfLife.dumpModelInfo(u32)
ExtractBbox(s32,core::aabbox3df&)0 method0irr.scene.CAnimatedMeshHalfLife.ExtractBbox(s32,core::aabbox3df&)
addBuffer(scene::SMeshBufferLightMap*)0 method0irr.scene.CQuake3ShaderSceneNode.addBuffer(scene::SMeshBufferLightMap* )
transformtex(constcore::matrix4&,constu32)0 method0irr.scene.CQuake3ShaderSceneNode.transformtex(constcore::matrix4& ,constu32)
deleteEmptyNodes(irr::scene::COctreeTriangleSelector::SOctreeNode*)0 method0irr.scene.COctreeTriangleSelector.deleteEmptyNodes (irr::scene::COctreeTriangleSelector::SOctreeNode*)
Animate(u32)0 method0irr.scene.CAnimatedMeshMD3.Animate(u32)
createCurvedSurface_nosubdivision(SMeshBufferLightMap*,s32,s32,s32)0 method0irr.scene.CQ3LevelMesh.createCurvedSurface_nosubdivision (SMeshBufferLightMap*,s32,s32,s32)
dumpVarGroup(constquake3::SVarGroup*,s32)0 method0irr.scene.CQ3LevelMesh.dumpVarGroup(constquake3::SVarGroup*,s32)
extractFilename(irr::io::SWADFileEntry*)0 method0irr.io.CWADReader.extractFilename(irr::io::SWADFileEntry*)
convertTextData<src_char_type>(src_char_type*,char*,int)0 method0irr.io.CXMLReaderImpl<char_type,superclass>.convertTextData <src_char_type>(src_char_type*,char*,int)
convertToLittleEndian<src_char_type>(src_char_type*)0 method0irr.io.CXMLReaderImpl<char_type,superclass>.convertToLittleEndian <src_char_type>(src_char_type*)
isLittleEndian(irr::io::ETEXT_FORMAT)1 method1irr.io.CXMLReaderImpl<char_type,superclass>.isLittleEndian (irr::io::ETEXT_FORMAT)
deleteMaterialRenders()0 method0irr.video.CNullDriver.deleteMaterialRenders()
clipTriangle(f32*)0 method0irr.video.CSoftwareDriver.clipTriangle(f32*)
getGLMatrix(GLfloat*,constcore::matrix4&)0 method0irr.video.COpenGLDriver.getGLMatrix(GLfloat*,constcore::matrix4&)
addShaderMaterial(constc8*,constc8* ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)0 method0irr.video.CD3D9Driver.addShaderMaterial(constc8*,constc8* ,irr::video::IShaderConstantSetCallBack*,irr::video::E_MATERIAL_TYPE ,s32)
printHLSLVariables(int)0 method0irr.video.CD3D9HLSLMaterialRenderer.printHLSLVariables(int)
stubD3DXAssembleShader(int,int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXAssembleShader(int,int ,int)
stubD3DXAssembleShaderFromFile(int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXAssembleShaderFromFile (int,int)
stubD3DXCompileShader(int,int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXCompileShader(int,int ,int)
stubD3DXCompileShaderFromFile(int,int)0 method0irr.video.CD3D9ShaderMaterialRenderer.stubD3DXCompileShaderFromFile (int,int)
scanline2()0 method0irr.video.CBurningShader_Raster_Reference.scanline2()
pShader_1()0 method0irr.video.CBurningShader_Raster_Reference.pShader_1()
depthFunc()1 method1irr.video.CBurningShader_Raster_Reference.depthFunc()
depthWrite()1 method1irr.video.CBurningShader_Raster_Reference.depthWrite()
getLightPosObjectSpace()0 method0irr.video.CBurningVideoDriver.getLightPosObjectSpace()
VertexCache_getbypass(irr::video::s4DVertex**)0 method0irr.video.CBurningVideoDriver.VertexCache_getbypass (irr::video::s4DVertex**)
scanline_bilinear()0 method0irr.video.CTRTextureLightMap2_M4.scanline_bilinear()
renderAlphaLine(constirr::video::s4DVertex* ,constirr::video::s4DVertex*)0 method0irr.video.CTRTextureWire2.renderAlphaLine(constirr::video::s4DVertex* ,constirr::video::s4DVertex*)

Statistics

Stat   MethodsCallingMe   depth
Sum:03
Average:00.079
Minimum:00
Maximum:01
Standard deviation:00.27
Variance:00.073
Potentially dead Fields
// <Name>Potentially dead Fields</Name>
warnif count > 0
from f in JustMyCode.Fields where
   
f.NbMethodsUsingMe == 0 && 
   
!f.IsPublic &&     // Although not recommended, public fields might be used by client applications of your Projects.
   !f.IsEnumValue   
  
   
// If you don't want to link CppDepend.API.dll, you can use your own IsNotDeadCodeAttribute and adapt this rule.
select f

16 fields matched

fieldsFull Name
TempIndicesirr.scene.C3DSMeshFileLoader.TempIndices
LineLengthirr.scene.CPLYMeshFileLoader.LineLength
ParticlePrimitiveirr.scene.CParticleSystemSceneNode.ParticlePrimitive
Materialirr.scene.CAnimatedMeshMD3.Material
Levelirr.scene.CQ3LevelMesh+SBezier.Level
Typeirr.io.CWADReader.Type
MountPointirr.io.CWADReader.MountPoint
FileSystemirr.io.CWADReader.FileSystem
EventParentirr.gui.CGUIFileOpenDialog.EventParent
CurrentRendererirr.video.CSoftwareDriver.CurrentRenderer
transparentirr.video.CD3D9MaterialRenderer_ONETEXTURE_BLEND.transparent
VSConstantsTableirr.video.CD3D9HLSLMaterialRenderer.VSConstantsTable
PSConstantsTableirr.video.CD3D9HLSLMaterialRenderer.PSConstantsTable
pID3DDeviceirr.video.CD3D9ShaderMaterialRenderer.pID3DDevice
OldVertexShaderirr.video.CD3D9ShaderMaterialRenderer.OldVertexShader
dithermaskirr.video.IBurningShader.dithermask

Statistics

Stat
Sum:
Average:
Minimum:
Maximum:
Standard deviation:
Variance:

Trend Charts

Unfortunately, Google Terms of Service prohibit saving the Chart API on your machine for offline use as stated at https://developers.google.com/chart/interactive/faq#localdownload

We could not connect to https://www.google.com/jsapi to retrieve the script. We will display chart data in a table instead.

Please connect to the internet and reload the page to display the chart.

Projects Dependencies

Assembly Depends on Is referenced by
Externals v1.0.0.0 - Irrlicht v1.0.0.0 ;
WindowsAPI v1.0.0.0 - Irrlicht v1.0.0.0 ;
Irrlicht v1.0.0.0Externals v1.0.0.0 ; WindowsAPI v1.0.0.0 ; -

Projects Build Order

  1. Irrlicht

Projects Build Order

  1. Irrlicht

Analysis Log : Information and Warnings

Here are Logs emitted during CppDepend analysis.
The Warnings can reveal potential flaws concerning the health of the build process.
A particular warn can be disabled through the CppDepend interactive UI, panel Error List, tick the checkbox Disabled corresponding to the warn to disable.


Kind Message
Info08/04/2014 19:37:56 Begin full analysis with CppDepend v4.1.0.2453
InfoNo Baseline for Comparison loaded.
WarningAdditional include directory ;$(DXSDK_DIR)include;$(CG_INC_PATH) not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
WarningAdditional include directory $(DXSDK_DIR)include; not found for the project Irrlicht due to the missing environment variables DXSDK_DIR: This can influence the analysis.
InfoThe parser used is Clang
WarningProject:Irrlicht=>'d3dx9shader.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht/CD3D9ShaderMaterialRenderer.h:15:10
WarningProject:Irrlicht=>'d3dx9shader.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht/CD3D9ShaderMaterialRenderer.h:15:10
WarningProject:Irrlicht=>'d3dx9shader.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht/CD3D9ShaderMaterialRenderer.h:15:10
WarningProject:Irrlicht=>'d3dx9shader.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht/CD3D9ShaderMaterialRenderer.h:15:10
WarningProject:Irrlicht=>'d3dx9shader.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht/CD3D9ShaderMaterialRenderer.h:15:10
WarningProject:Irrlicht=>'d3dx9tex.h' file not found at C:\irrlicht-1.8.1\irrlicht-1.8.1\source\Irrlicht\CD3D9Texture.cpp:13:10
WarningThe project Irrlicht contains 6 Clang errors, to see them you can activate the Clang parsing errors tab.
InfoNo dependency cycle detected in projects referencement graph.
Info08/04/2014 19:39:39 Analyse dependencies of your application.
Info08/04/2014 19:39:39 Building the report (standard).
Info08/04/2014 19:39:41 Log trend metrics values.
Info08/04/2014 19:39:43 Execute queries and rules
Warning3 critical rules are violated. - Types too big - critical - Methods too complex - critical - Methods with too many parameters - critical
Info08/04/2014 19:39:47 CppDepend analysis done. Duration: 00:01:52