<commit_before>/****************************************************************************

 This file is part of the GLC-lib library.
 Copyright (C) 2005-2008 <NAME> (<EMAIL>)
 Version 1.0.0, packaged on August, 2008.

 http://glc-lib.sourceforge.net

 GLC-lib is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 GLC-lib is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with GLC-lib; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

*****************************************************************************/

//! \file glc_part.h interface for the GLC_Part class.

#ifndef GLC_PART_H_
#define GLC_PART_H_

#include "glc_node.h"
#include "glc_instance.h"

//////////////////////////////////////////////////////////////////////
//! \class GLC_Part
/*! \brief GLC_Part : Part of the Product Structure*/

/*! An GLC_Part is a part Node in the product structure \n
 * An GLC_Part agregate a GLC_Instance.
 * */
class GLC_Part : public GLC_Node
{
//////////////////////////////////////////////////////////////////////
/*! @name Constructor / Destructor */
//@{
//////////////////////////////////////////////////////////////////////
public:
	//! Constructor
	GLC_Part(GLC_Collection *, GLC_Instance&);
	//! Destructor
	virtual ~GLC_Part();
//@}

//////////////////////////////////////////////////////////////////////
/*! \name Get Functions*/
//@{
//////////////////////////////////////////////////////////////////////
public:
	//! return the part's representation ID
	inline GLC_uint getRepID() const {return m_RepID;}
	//! Clone the part
	GLC_Part* clone(GLC_Collection *) const;
	//! Get number of Faces
	int getNumberOfFaces() const;
	//! Get number of vertex
	int getNumberOfVertex() const;
	
//@}<commit_msg>Add the possibility to get part instance.<commit_after>/****************************************************************************

 This file is part of the GLC-lib library.
 Copyright (C) 2005-2008 <NAME> (<EMAIL>)
 Version 1.0.0, packaged on August, 2008.

 http://glc-lib.sourceforge.net

 GLC-lib is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 GLC-lib is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with GLC-lib; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

*****************************************************************************/

//! \file glc_part.h interface for the GLC_Part class.

#ifndef GLC_PART_H_
#define GLC_PART_H_

#include "glc_node.h"
#include "glc_instance.h"
#include "glc_collection.h"

//////////////////////////////////////////////////////////////////////
//! \class GLC_Part
/*! \brief GLC_Part : Part of the Product Structure*/

/*! An GLC_Part is a part Node in the product structure \n
 * An GLC_Part agregate a GLC_Instance.
 * */
class GLC_Part : public GLC_Node
{
//////////////////////////////////////////////////////////////////////
/*! @name Constructor / Destructor */
//@{
//////////////////////////////////////////////////////////////////////
public:
	//! Constructor
	GLC_Part(GLC_Collection *, GLC_Instance&);
	//! Destructor
	virtual ~GLC_Part();
//@}

//////////////////////////////////////////////////////////////////////
/*! \name Get Functions*/
//@{
//////////////////////////////////////////////////////////////////////
public:
	//! return the part's representation ID
	inline GLC_uint getRepID() const {return m_RepID;}
	//! return the instance associated to this part
	inline GLC_Instance* getInstance() {return m_pCollection->getInstanceHandle(m_RepID);}
	//! Clone the part
	GLC_Part* clone(GLC_Collection *) const;
	//! Get number of Faces
	int getNumberOfFaces() const;
	//! Get number of vertex
	int getNumberOfVertex() const;
	
//@}
{'fraction_non_alphanumeric': 0.29295774647887324, 'fraction_numerical': 0.011700975081256771, 'mean_word_length': 2.176875430144529, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5056047', 'n_tokens_mistral': 1226, 'n_tokens_neox': 1125, 'n_words': 460}