Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
BEFORE THE NATIONAL GREEN TRIBUNAL (WESTERN ZONE) BENCH, PUNE APPLICATION NO. 64/2012 CORAM : Hon'ble Shri Justice V.R. Kingaonkar (Judicial Member) Hon'ble Dr. Ajay A. Deshpande (Expert Member) BETWEEN: 1 VAJUBHAI ARSIBHAI DODIYA Village - Vadnagar, Tal - Kodinar, 2 OGHADBHAI SAMATBHAI Village-Kodinar, Dist-Junagadh 3 JIVABHAI SAMATBHAI, Village-Kodinar, Dist-Junagadh 4 RAMSINHBHAI SAMATBHAI, Village-Kodinar, Dist-Junagadh 5 JITENDRASINH JESHINGBHAI DODIYA, Village-Kodinar, Dist-Junagadh 6 SAMATBHAI LAXMANBHAI DODIYA, Village-Kodinar, Dist-Junagadh 7 NARANBHAI JIVABHAI JADAV, Village-Kodinar, Dist-Junagadh 8 GOVINDBHAI LAXMANBHAI JADHAV, Village-Kodinar, Dist-Junagadh 9 BALUBHAI MASRIBHAI BARAD, Village-Kodinar, Dist-Junagadh 10 JAGMALBHAI LAXMANBHAI JADAV, Village-Kodinar, Dist-Junagadh 11 DHIRUBHAI JAGMALBHAI JADAV, Village-Kodinar, Dist-Junagadh 12 SHANTABEN DHIRUBHAI JADAV, Village-Kodinar, Dist-Junagadh 13 ARJANBHAI RAMABHAI JADAV,` Village-Kodinar, Dist-Junagadh 14 NAGJIBHAI VIRABHAI, Village-Kodinar, Dist-Junagadh 15 PRATAPBHAI VIRABHAI, Village-Kodinar, Dist-Junagadh 16 MERUBHAI VIRABHAI JADAV, Village-Kodinar, Dist-Junagadh 17 PRAVINBHAI VIRABHAI, Village-Kodinar, Dist-Junagadh 18 ARSHI @ ASHWIN VIRABHAI, Village-Kodinar, Dist-Junagadh 19 VIRABHAI JADAVBHAI HARIJANH, Village-Kodinar, Dist-Junagadh 20 IBRAHIM DAUD AMRELIYA, Village-Kodinar, Dist-Junagadh 21 YADUSINH NARASINH CHAUHAN, Village-Kodinar, Dist-Junagadh 22 VARAJANGBHAI BHAGVANBHAI MORI, Village-Kodinar, Dist-Junagadh (J) Appln. No.64/2012 2 AMARSINH RAMBHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh 24 GOVINDBHAI VIRSINGBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 25 RAMSING VIRSINGBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 26 RAMESHBHAI VIRSINGBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 27 MANOJBHAI VIRSINGBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 28 NARANBHAI VIRSINGBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 29 VIRSINGBHAI NATHUBHAI CHAUHAN, Village-Dudana, Tal-Kodinar Dist-Junagadh 30 RASHILABEN NARENDRABHAI RATHOD, Village-Kodinar, Dist-Junagadh 31 NARENDRABHAI NARANBHAI RATHOD, Village-Kodinar, Dist-Junagadh 32 RAMABHAI UKABHAI RATHOD, Village-Kodinar, Dist-Junagadh 33 VALIBEN KESHUBHAI RATHOD, Village-Dudana, Tal-Kodinar (J) Appln. No.64/2012 3 Dist-Junagadh 34 JESHINGBHAI VIRABHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh 35 SAMATBHAI UKABHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh 36 RAMABHAI LAXMANBHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh 37 SAMATBHAI LAXMANBHAI VALA, Village-Dudana, Tal-Kodinar Dist-Junagadh 38 HIMMATBHAI NARSINGHBHAI VALA, Village-Dudana, Tal-Kodinar Dist-Junagadh 39 NARSINHBHAI BHIMABHAI VALA, Village-Dudana, Tal-Kodinar Dist-Junagadh 40 PRATAPBHAI ARSHIBHAI VALA, Village-Dudana, Tal-Kodinar Dist-Junagadh 41 RAGHUBHAI KARSHANBHAI VALA, Village-Dudana, Tal-Kodinar Dist-Junagadh (J) Appln. No.64/2012 4 42 NATVARSINH BALUBHAI VILAL Village-Dudana, Tal-Kodinar Dist-Junagadh 43 RANJITBHAI RAMBHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh 44 RAMBHAI SAGRAMBHAI RATHOD, Village-Dudana, Tal-Kodinar Dist-Junagadh ...............APPLICANTS VERSUS 1 GUJARAT POLLUTION CONTROL BOARD Through the Secretary/ Chairman Parayavaran Bhavan Sector 10-A, Gandhi Nagar. 2 REGIONAL MANAGER, Gujarat Pollution Control Board, Opposite St. Anne's Church, Station Road Junagadh-362001 3 THE COLLECTOR, Office of the Collector, Junagadh, 4 THE DISTRICT AGRICULTURAL OFFICER, District Panchyat Junagadh, District :- Junagadh, (J) Appln. No.64/2012 5 5 GUJARAT AMBUJA CEMENT LTD., Through Manager Village - Kodinar, Taluka - Kodinar, Dist :- Junagadh, 6 THE STATE OF GUJARAT, Through the Chief Secretary, (Forest and Environment Department) 8th Floor, Block No.14, Sachivalaya, GANDHINAGAR, .........RESPONDENTS Counsel for Applicants : Ms. Parul Gupta Adv and Mr. Asim Sarode Adv for Ritwick Dutta Adv. Counsel for Respondents : Mr. Viral K. Shah Adv. For Respondent No.1 And Mr. G.M. Sandhu For Respondent No 2 Mr. Chetan Sharma Adv. and Mr. Sharan Thakur Adv. For Respondent No 5. Date: 31-10-2013 Per: Dr. Ajay Deshpande (For the Bench) JUDGEMENT
1. The Applicants have filed the present application under Section 14 and 15 of NGT Act 2010 against the Respondent No 5 i.e. the Cement Plant of M/s Gujarat Ambuja Cements Ltd., (J) Appln. No.64/2012 6 alleging that it is being operated in contraventions of the provisions of the Environment (Protection) Act 1986, Air (Prevention and control of Pollution) Act 1981 and Water (Prevention and control of Pollution) Act 1974. The Applicants claim to be agriculturists and have their own lands near Respondent No.5 Company. It is the case of the applicants that Respondent No 5 has not provided proper facilities for disposal of liquid and solid wastes, proper drainage system for disposal of poisonous chemical and water dust/ powder containment System in its cement plant and repeatedly, it is noticed that the pollution is spread away in the nearby areas of the cement company which has destroyed valuable crops, trees, vegetables, wells and agriculture lands of the agriculturists.
2 The applicants submit that on the night of 1st May, 2011, an accident took place in the cement plant of Respondent No 5 company due to which poisonous dust and powder spread over the nearby areas. The said accident was so severe that poisonous gas, cement dust had spread over the nearby area and destroyed all the agricultural products grown in the nearby vicinity of the cement company. The chemicals used in the cement company were also spread over in the nearby areas and agriculture lands of the farmers and hence most of the agricultural products, trees, grains and standing crops burnt away in the said accidental emissions from Respondent No 5 industry.
3 The applicants have claimed to have made various representations to several authorities as well as local MLA with a request to enquire into the matter and send the team of expert (J) Appln. No.64/2012 7 officers in connection with accident which took place in the cement plant of Respondent No 5, to verify its adverse effects and verify the losses occurred by the agriculturists and to pay compensation while taking suitable remedial measures. The Applicants further submit that the Forest and Environment Department vide letters dated 10/05/2011 and 13/05/2011 informed that their application was forwarded to Gujarat Pollution Control Board (GPCB).
4 The applicants further state that in view of the several requests and representations, Respondent No 2 i.e. GPCB investigated the place in question only on 27/05/2011 and carried out the investigations. The Applicants came to know that the Respondent No 5 company has paid compensation to some of the agriculturists by causing discrimination. They again made representations to the authorities praying that the poisonous dust had spread over up to approximately 5 Km radius from the Cement Plant and therefore, compensation should be paid to all the farmers in that area. The Applicants further requested the authorities vide letter dated 16/07/2011 along with the copy of complaint dated 14/07/2011 to carry out the necessary visits, inspection and survey in order to take appropriate action for compensation to the agriculturists. The applicants further submit that the Respondent Nos.1 & 2 i.e. GPCB vide letter dated 18/07/2011 directed the Respondent No 3 i.e. Collector to take appropriate action as per the law. The applicants further submit that in view of the several representations and requests made by the MLA, Respondent No 1 i.e. GPCB vide letter dated 12/08/2011 informed that the payment of the compensation to be made to the affected persons does not fall within the (J)Appln.No.64/2012 8 jurisdiction of the Board. The Respondent No 4 that is District Agriculture Officer also vide their letter dated 18/09/2011 informed that the issue regarding payment of compensation does not fall within its jurisdiction.
5 The Applicants further submit that the Respondent No 5 carried out a survey of the damages to the agriculture due to accident occurred on 1/05/2011 and selectively paid compensation based on the findings of the report that 40 % loss has been suffered by the farmers. The Applicants further submit that similar accident and leakage of poisonous gases again happened on 16/07/2011. The Applicants therefore, prayed that in spite of several requests and number of representations made to the several authorities, the Respondent No 5 did not bother to pay any compensation to all the farmers affected by the pollution caused in the above accidents. The Respondent authorities also did not take any action against the said company either for causing serious pollution or for non-payment of compensation to the affected farmers. Hence they have filed this application. The applicants have prayed for following directions :
a. Direct Respondent no. 5 to give appropriate compensation with regard to damage/loss suffered by the applicants in respect of pollution done in the agricultural lands and products in the interest of justice.
b Direct the respondent authority to take appropriate steps against Respondent no. 5 for proper disposal of waste and poisonous powder and chemicals and submit an action report and till then the consent granted for operation of the cement plant be stayed in the interest of justice.
c. Direct the Respondent Authorities to appoint a team of scientists/experts and carry out survey on the agricultural lands of the applicants to verify effects of the pollution done (J)Appln.No.64/2012 9 by the Respondent no. 5 and pay appropriate compensation in the interest of justice.
d. Direct the Respondent Authorities to consider and decide the representations/applications made by the applicant in accordance with law and in the interest of justice.
6. The Respondent Company (R-5) has submitted detailed reply and stated that it started operation in the year 1986 with a capacity of 0.7 Million Tonnes per Annum (MTPA) and since then it prospered and progressed with the society and community, to 5.7 MTPA, Capacity. The Respondent Company submitted details about their corporate philosophy of environmental protection and sustainability in detail. The Respondent company further submit that it has installed latest available equipment for controlling pollution and emission measurement devices for continuous source emission monitoring as well as continuous Ambient Air Quality Monitoring. The Respondent No.5 further submits that though the stack emission standards are stipulated as 100 mg/Nm3, they have installed glass bag house as main air pollution control equipment in a main kiln stack, which helps in achieving emission levels well below 30mg/Nm3. The Respondent No.5 further submitted that vide their letter dated 07/05/2011, they had informed the Regional Officer of GPCB, Respondent No 1 herein, about the technical fault occurred on account of damage caused to clinker crusher shaft in its plant on 28/04/2011. The said technical problem was rectified and plant was restarted on 30/04/2011 at 7:15 PM. However, on restarting the plant, it was noticed that there was operational problem at the preheater of the plant, resulting in material (J)Appln.No.64/2012 10 getting jammed and consequent filling up of cyclones in the plant. It was noticed that one of the cyclones, could not be de- chopped of the material jammed in it. Hence the operation of the plant was again stopped on 01/05/2011 at 12:30 AM for further investigations. It is submitted that during such investigation/inspection of the cyclone by opening inspection door of the metal chute pipe, some of the jammed materials escaped through inspection door. During this interregnum, some quantity of the raw material powder got accumulated at the floor of the cyclones No 6, approximately 100 mts high from the ground level, resulting in the material being spread out in fraction of time, due to high wind speed around the area. The text of the letter dated 7-5-2011 addressed to the Pollution Control Board is as under:-
"With reference to above mentioned subject.............................................................was re- started on 30.04.2011 at 7:15 pm. While restarting the plant.................................................material powder escaped through inspection door.
During this period, a good quantum of Material (Raw Mill Powder) got accumulated at the floor of Cyclone no. 6 (Approximately 100 mtrs. High from Ground Level). Since, our location observes high wind speed during night, due to which the said material was blown in a fraction of minutes, taking the dust to good distance. The team could not take immediate remedial action due abrupt rushing of the falling material, but after controlling the flow of falling materials, the doors were shut and tried to control the dusting and immediately tried to cover the (J)Appln.No.64/2012 11 material to avoid its contact with wind. Our team did Root Cause Analysis (RCA) of the incident and the plant was then re-started on 01.05.2011 at 5:00 PM after re-inspection of every aspect based on incident investigation Report".
7. The Respondent No 5 further submit that the Regional Officer of the Pollution Control Board visited the industrial plant on 27th May 2011 and inspected the lands of the affected farmers and directed the answering Respondents to resolve the matter of payment of compensation by mutual understanding with the farmers affected by dust emission due to the accidental operational problem occurred at the preheater on 1st May, 2011. The Respondents have submitted the true copy of the said directions given by the Regional Officer of the Gujarat Pollution Control Board which is reproduced below:-
1. With reference to complaint filed to the Collector & the Divisional Magistrate Junagadh by Shri Keshubhai Raysingbhai Dodiya and others of Kodinar Residence - Behind New Mamalatdar Office - Kodinar regarding damaged to therir agriculture crops and land due to dusting incident occurred on 01/05/2011 from Ambuja Cements Limited.
Today during site visit S. No. 1279, 1283/P and farms of Malaiben Hamirbhai, Kana Kara, Arshi Hamir, Vaju Punja have been visited.
During visit dust was observed on the leaves of Mango and Coconut trees and normal damage to the cereal crops were observed. In this regards matter was discussed with Company's officer Shri Suresh Hadvani. It was come to know that due to accidental operational problem at preheater on 01/05/2011 dusting occurred for a certain period. It is instructed to (J)Appln. No.64/2012 12 resolve the matter of damage compensation by mutual understanding with affected farmers with intimation to this office.
2. In future for any type of major maintenance work well in advance preventive action plan need to be prepared and implemented to avoid re-occurrence of such type of incident.
8. The Respondent no 5 further submits that in response to the said directives, answering Respondents vide letter dated 17th June, 2011 submitted the compliance Report, including appropriate compensation paid to the affected farmers by mutual understanding. The Respondent had formed a Committee immediately after 1st May accident consisting some experts, which visited the affected area from 2nd May, 2011 to 7th May, 2011 and visited fields affected due to the said accident and laid down the technical criteria and relevant factors in order to assess compensation, if any, to be paid to the affected farmers. The report has also been placed on record. It is observed that this team of experts consisted of following experts:-
1) Shailesh Dungarani - Agriculture Expert -
Ambuja Cement Foundation
2) Jaydip Chauhan - Agriculture Expert - Ambuja
Cement Foundation
3) Ranjitsinh Barad - Horticulture Expert- Krishi
Vigyan Kendra, Kodinar, Junagadh
4) Shailesh Parmar - Envoironment Officer - Ambuja
Cements Ltd.
5) Bhagvan Vala - Sr. Officer Land Dept. -
Ambuja Cements Ltd.
6) Narendrasinh J Makwana - Sr. Officer Land
Dept. - Ambuja Cements Ltd.
(J)Appln.No.64/2012 13
9. Respondent No.5 further submits that the Respondent No 1 issued notice under Section 31 on 11th July, 2011 under Section 31-A of the Air (P & CP) Act 1981 which is replied along with the copy compliance report on 27th July, 2011. The Regional Officer of the Respondent No 1 vide letter dated 22 nd June, 2011 informed the Collector about the compensation paid by the Respondent No 5 to the affected farmers.
10. The Respondent No 5 industry also submitted the Rojkam dated 10th August, 2011 accompanied with statement of survey statement of affected crops. The Respondent No. 3 submits that in terms of the said Rojkam the concerned lands were surveyed for the crops damage on 10th August 2011 during which it was found that no damage was done to the crops and the nominal reduction in production in the crops was attributable to the general and seasonal agricultural conditions. It is the case of the Respondent No 5 industry that these investigations have showed that no damage to the agricultural crops has been caused due to the incident as primarily, the dust is lime stone powder which is not hazardous in nature. The Respondents further submit that when it came to the knowledge of the Respondent that some damage has been caused to crops of some farmers due to the excessive emissions released during the accident then it got a survey conducted and paid compensation to all those who were allegedly affected by the dust emitted from the plant of Respondent No 5. As far as the present application is concerned, it is alleged that no loss has been caused to the applicants herein, there is no record or report (J)Appln.No.64/2012 14 of the concerned authorities about the damage caused. Nor there is any document or report submitted by the applicant which can conclusively indicate that damage is caused to the agriculture, more specifically due to the above referred incident and therefore, the petition needs to be dismissed.
The Respondent No 5 has further submitted the meteorological conditions existing during the time of the incident duly received from the Indian Meteorological Department along with a detailed map of the nearby area particularly depicting the tunnel effect due to the winds.
11. The Respondent No 3 submitted its affidavit in pursuance to the Tribunal's order dated 4th April 2013 and placed on record the Rojkam and statement of survey. The Rojkam dated 10th August, 2011 seems to be submitted with reference to the dusting caused by the Respondent No 5 on 13th July 2011. The Rojkam is reproduced for the better understanding:-
"Today's survey with respect to crop damage due to dusting caused by Ambuja Cement Company Cement on 13.07.2011. Letter No. 15/1 dated 16.07.2011 was received from MLA, Kodinar stating that there was adverse effect upon crops of 13 farmers of Vadnagar, and hence the survey. However, the crops are found in good condition at present. Today on 10.08.2011 the concerned lands were surveyed for crop damage. Letter dated 20.07.2011 of Agricultural Officer and letter dated 28.07.2011 of the Assistant pursuance of the instructions in the said letter, the Vistaran ADhikari and Gram Sevak along with their team and in the presence of the applicants and farmers surveyed the crops and (J)Appln.No.64/2012 15 observed that there was no damage to the crops. The nominal reduction in production may be attributable to general and seasonal agricultural conditions.
The applicants have refused to sign the above Rojkam, and the main applicant Masa Arjun Parar, resident of Vadnagar, and others insist that it be recorded that there has been damage to crops.
We, Gram Sevak and Vistaran Adhikari, did not observe any damage to crops in the concerned survey nos. of the applicants. At the moment, the crops are in good condition".
12. The Gujarat Pollution Control Board through its Secretary/Chairman is the Respondent No 1. The Regional Manager GPCB, Junagadh, is Respondent No 2. In spite of several hearings, and also, appearances of the Counsel for Respondent Nos 1 and 2, there is no affidavit or reply submitted by either Respondent No 1 or 2. Only on the last day of hearing that is 30th September, 2013, the then Regional Officer of GPCB, Junagadh Shri. Sadhu filed an affidavit in reply. The Tribunal in its early hearings more particularly on 18th July, 2013, had directed GPCB that the concerned officer who gave directions to the parties to settle claims outside, without doing any spade work shall remain present and file affidavit as to why immediate action had not been taken. The said officer attended the Tribunal's proceedings and has now submitted an affidavit in reply which is primarily covering the rationale and reasoning of the actions he has taken in the matter. His affidavit do not cover various aspects and issues raised in the main petition including status of industry, status of pollution control systems, details of compliance, and the views of MPCB on the policies in such complaints and compensation issues.
(J)Appln.No.64/2012 1613. The then Regional Officer in GPCB who is now presently working as Regional Officer, Surendra Nagar has submitted that he has visited the plant on 27th May, 2011 subsequent to a communication received from District Magistrate, Junagadh vide letter dated 12th May which was received by his office on 21st May. His affidavit does not mention or negate the claim that it had informed the Board about the incident vide letter dated 7 th May, 2011. It is submitted by the Regional Officer that during the inspection, he was informed by the officials of the company about the clinker crusher shaft damage which occurred on 28th April, 2011 and the subsequent events. He has further submitted that during the inspection, it was found that the agriculturists in the nearby vicinity were found to have been affected due to dust particles and that by way of mutual understanding between company and the agriculturists about 114 claims were settled by the company, whereas in six cases, the company did not make payment of any compensation.
The Regional Officer further submits that on 13th July, 2011, another accident took place in the premises of the said company and the inspections were carried out on 19th and 20th July, 2011. During the inspection, it was found that no crop or property in the nearby vicinity were affected due to dust particles. All these visit reports were duly placed on the website of the Board. The respondent Board further issued directions under Section 31-A of the AIR Act (P & CP) on 11th July, 2011, wherein non- compliances observed during visit of 27-5-2011 had been referred. The notice also mentioned that the industry had taken excessive production than consented quantities.
(J)Appln.No.64/2012 17However, the affidavit of the then Regional Officer does not mention any steps or action as a follow up of this particular direction notice.
14. The then Regional Officer G.P.C.B. further submits that, in pursuant to the directions issued by the Hon'ble High Court of Gujarat, in the Special Civil Application No 7125 of 2010, the Central Pollution Control Board has carried out detailed inspection cum monitoring of the surrounding area of the said plant and have submitted the detailed report in November 2011. The affidavit of the CPCB along with the report has been placed on record. The CPCB in its affidavit submitted the compliance of various environmental conditions by the industry. The Report has raised several areas of concern particularly, the ground water pollution which has been linked to the leachate from improper storage of the chemical Gypsum in the industry. The concentration of the metals (Copper, Iron, Zinc, Magnesium and Lead) for selective wells including the applicants wells, are within permissible limit, though the concentration of the above metals are observed to be more at the farms than those of the referral farms. The report also highlights various discrepancies and mention that the Gypsum storage is not proper. The Central Pollution Control Board further observed that the part of the pipeline provided for transferring surface runoff leachate to day tank is under ground and could not be traced. Central Pollution Control Board has further reported -observation of deposition of dust on mango trees/banana trees. One of the important aspect of the Central Pollution Control Board report is that the industry is using liquid AFR which is stored near an open storage area (J)Appln.No.64/2012 18 towards the south boundary of the plant. Liquid AFR details like its source, chemical composition and its impact on concentration of the air emissions from the stacks have not been detailed in the said Central Pollution Control Board Report. The affidavit of Regional Officer, GPCB does not mention any of these aspects and also, is salient on compliance and present status of various issues and recommendations made in the CPCB report.
15. Considering the above said facts and also the documents available, the Tribunal finds it necessary to deal with the following issues for decision in this matter.
1) What is the nature and quantum of the impact of the excessive air emissions in the accidents dated 1st May, 2011 and 13th July, 2011?
2) a) Whether the agricultural crops of the Applicants are damaged and if yes, then to what extent?
b) Whether the Applicants are entitled to any compensation / damages ?
3) Whether the response of the industry was adequate and as per the provisions of law?
4) Whether the Respondent Board has erred in directing the Industry to settle the claims by the mutual understanding?
REASONS
16. It is an admitted fact that there was an accidental release of excessive air pollution from the cement plant of Respondent (J)Appln.No.64/2012 19 No 5 company on 1st May 2011 due to which, certain quantity of industrial waste dust was dispersed around nearby areas of the Respondent No 5 company. It is admitted fact that such accidental release happened from a height of about 100 metres and therefore, the area of dispersion of the dust need to be considered in view of such a height and also the prevailing wind tunnel and other Meteorological conditions. It is submitted by the Respondent No 5 Company that the said dust was of the chemicals containing CaCO3 (Calcium carbonate) and therefore, it is a non-hazardous material. The Respondent no 5 industry has further submitted the data related to wind direction and speed prevailing at the time of accident on 1st May, 2011, collected by IMD and has further projected an area, in the prevailing wind direction at the time of the accident, which is extended up to 3 kilometres in the down wind direction. Though, such exercise was expected from the technical experts from the Pollution Control Board who are mandated to implement the AIR (P and CP) Act 1981, the same has not been submitted or separately obtained by the GPCB. The state government departments including revenue and agriculture department have not conducted any survey or inspections related to effect of excessive dust emissions as a result of incident dated 1/5/2011 on the nearby agriculture, and have carried out inspections only in August 2011, in response to complaints regarding another incident in July 2011. And therefore, based on records placed before the Tribunal, at present, we do not find any reason for dis-allowing such projection of impact zone assessment made by the industry related to the incident of 1st May 2011. However, the claim of the industry that it is non-hazardous material that got (J)Appln.No.64/2012 20 dispersed needs a closer examination, in view of the fact that industry is using various types of hazardous wastes as AFR and also using chemical gypsum in its manufacturing process. There is no data or chemical analysis of the emissions for the dust powder, done by either company or Pollution Control Board. And, therefore, the issue of composition of such dust particles needs the closer examination.
17. The Central Pollution Control Board Report of 2011 which has been placed on record by the then Regional Officer, GPCB highlights certain excessive concentrations of heavy metal in the ground water which is attributed to the use of chemical sludge and also the AFR. It is also admitted that there are certain losses to the agriculturists in the vicinity due to the excessive emissions from the industrial operations of Respondent no 5 industry, resulting from the accident of the 1st May, 2011. The Expert Committee appointed by the Respondent No 5 industry itself has concluded with a technical criteria to assess the loss caused to each field affected due to the dust. Therefore, the claim of the industry that the dust which has been dispersed is non- hazardous and had not resulted into any damage is technically not correct and cannot be agreed upon. However, at this present stage, the Tribunal is restricting itself to agreeing with the findings that the quantifiable adverse impacts of the dust emissions related to 1st May 2011 are within a specific area, extending up to 3 kilometres distance in the downwind directions. The agricultural farms of the Applicants in present applications are said to be more than five (5) kilometres away from the industry. Though, there are certain claims and photographs of dust accumulated on various agricultural plants (J)Appln.No.64/2012 21 in applicants farms, in the absence of technical data like its composition and also, non-availability of records and reports substantiating the fact that this dust is a fall out of the industrial emissions of the Respondent No 5, the Tribunal is not inclined to accept any claim for compensation payable to the applicants and therefore the answer to issue 2, referred above is recorded as "NEGATIVE."
18. It is an admitted fact that there was an accident resulting in excessive dust emission from the industrial plant of Respondent No 5 on 1st May, 2011 and the industry claims to have informed the State Pollution Control Board on 7th May, 2011. However, as per the record, there was some technical problem in the industrial operations of the Respondent Industry, right from the 28th April, 2011 which has finally resulted into excessive dust emissions on 1st May, 2011. The then Regional Officer, State Pollution Control Board paid visit to the industry only on 27th of May and that too with reference to the complaint and representations made by the applicants and other people which were received by his office through the Collector's Office and this has been clearly mentioned in his visit report duly acknowledged by the Respondents. When the Tribunal posed this query to the Respondent No 5, it has been submitted that the said letter has been submitted to the Gujarat Pollution Control Board Head Office at Gandhinagar on 7th May, 2011. There is no document which is placed on record to prove that such letter has been delivered to the Regional Officer at Gandhinagar except a courier delivery challen dated 10/5/11, which is without seal. Even if, it is considered as delivered, it cannot be accepted that a major (J)Appln.No.64/2012 22 industry of the scale of Respondent No 5 can deem it appropriate not to inform such accidental stoppage of the industry to the concerned Local Pollution Control Board officials immediately, either through phone, email, fax in this era of speedy communication. And this is more particularly relevant when the industry is aware that its excessive dust emissions must have caused damages to the agriculture in the surrounding and therefore, it had itself formed a panel of experts to evaluate such damages immediately on 1st May, 2011. Even under the various environmental regulations, it is mandatory for the industry to inform the regulators as well as local administration about any accident which is results into damage and pollution. Therefore, the Tribunal records that the industry has erred in not informing the authorities immediately about the accident, the resultant air pollution, and its adverse impacts. This amounts to derliction in legal duty.
19. The Respondent No 1 i.e. GPCB is a special statutory organisation constituted under the provisions of Water Act and Air Act, which is mandated to take various steps to prevent and control the Water and Air Pollution in the State of Gujarat. The Applicants have raised various issues related to inadequate provision of air pollution control systems, non-operation of pollution control systems and also damages due to excessive pollution caused due to industry. It may be noted that there is no detailed response filed by the Respondents No 1 and 2 on various points raised by the applicants. As mentioned above, only on specific instances pointed out by the Tribunal, the then Regional Officer has filed limited response defending his actions done while investigating the above accidents. We fail to (J)Appln.No.64/2012 23 understand why such detailed response has not been filed by the GPCB, and the concerned officer has been left alone to defending his actions. It is strange that even after the query by this Tribunal about legality of such directive, no response is filed by the GPCB, implying that the GPCB officer was duly empowered to give the directive that the matter for compensation claimed may be settled by the Respondent No 5 Company with the claimants by mutual agreement. This is very surprising way of dealing with claims put forth without conducting any independent enquiry by the authority.
20. The then Regional Officer, GPCB has filed a detailed Report of CPCB which was placed before the Hon'ble High Court of Gujarat in the special Civil Application 7125/2010 which shows various inadequacies in the pollution control systems of the respondent No 5 Company. Further, based on the investigations carried out by the then Regional Officer of State Pollution Control Board, GPCB itself had issued proposed directions under Section 31-A of Air Act on 11th July, 2011. All such notices, visit Reports and directions have not been presented before this Tribunal along with its follow up actions, if any, and therefore, we are constrained to record that actions of the GPCB in the instant matter are not proper, scientific and as per law. The GPCB, as a technical organisation specially created under the statute was expected to help this Tribunal with a scientific data on the nature of emissions, chemical composition of such emissions, assessment of area where the dust could be dispersed, considering the local meteorological conditions and also, adequacy of air pollution control system. However, there is no information or documents which have been placed on record (J)Appln.No.64/2012 24 by the GPCB in this regard.
21. It is also an admitted fact that the Regional Officer of the Pollution Control Board during his visit to the industry on 27th May, 2011 has instructed the industry to give compensation on mutual understanding basis to the affected farmers as per actual damage caused and to inform the GPCB. When the Tribunal questioned the legality of this directive, the concerned officer attended the Tribunal and also, submitted a response defending his actions. He has submitted that there is a clause in the consent issued by the Board about payment of compensation and also, submitted a copy of such consent of some other industry on record. The relevant clause is reproduced hereafter:-
"If is established by any competent authority that the damage is caused due to their industrial activities to any person or his property. In that case they are obliged to pay the compensation as determined by the competent authority".
He has further mentioned the practice followed by the GPCB, though no such policy or guidelines have been placed on record. The officer has mentioned about the District level compensation committee constituted under the specific High Court order under the Chairmanship of District magistrate where the Regional Officer, GPCB is Member Secretary, though such order or constitution of Committee is not placed on record. It is clear from the wordings of the consent and also, the fact that there is a committee to consider compensation. In fact this itself demonstrates that the concerned officer is not individually (J)Appln.No.64/2012 25 authorised to order or issue directions for mutual settlement of compensation. Hence, the defence put forward by the officer is not acceptable. We hold, therefore, that the directions given by Regional Officer, GPCB to the respondent industry to mutually settle the compensation, are bad in law and not within jurisdiction of GPCB, and can be termed as a covert attempt to subvert the legal process. The Tribunal therefore directs Chairman GPCB to take suitable action against the concerned officer and separately issue suitable instructions to all officers of the Board. A compliance report shall be submitted to Tribunal within 6 months.
On the specific query from the Tribunal, the industry has submitted the online stack emissions monitoring results for April and May 2011 on daily basis. The Tribunal note that as per the information submitted by the industry, the emission values for the kiln dust for the month of May, 2011 range from 0 to 2.02 mg/Nm3 against GPCB permissible limits of 100 mg/Nm 3. The data submitted by the industry needs a critical review and examination and if the industry is able to achieve such low emissions, GPCB may think it appropriate to make the standards more realistic by prescribing relevant lower concentrations. Though, we have our own reservations on such low reported values which needs to be reviewed for the analyser installation, analyser calibration and also the data sanctity aspects, yet we direct the GPCB as follows :-
1) To investigate why detailed response has not been filed in the Tribunal along with all the technical information and take necessary action, if required, against concerned officials.
(J)Appln.No.64/2012 262) Carry out investigations to assess the compliance status of industry, adequacy of the air pollution control systems, more particularly in view of use of AFR and chemical gypsum and its impact of chemical composition of the dust emissions.
3) Review the efficacy and accuracy of the continuous emission and ambient air monitoring systems at the industry.
We direct the Member Secretary of the GPCB to submit the compliance report on above aspects in next three months.
22. We have duly considered written statement received by post, sent on behalf of the Applicants. However, once it is found that there is no tangible material to hold that the crops of the Applicants were impacted due to accidents in question, it is difficult to consider the arguments, particularly based upon environmental principles enumerated in the submission. However, this will not come in the way of the Collector or any other authority to consider claims of the applicants, if any, in case the independent enquiry substantiates any part of the claim on the basis of the proof given by them or as a result of the enquiry made by the authority. It is an admitted fact that the Respondent 5 industry had formed a Committee of experts to assist the damages due to emission of the dust during the incident occurred on 1st May 2011 and accordingly identified the agriculturists, where damage of agriculture has been reported. Further the industry has predicted the impacts zone based on the emission data as well as meteorological data which is (J)Appln.No.64/2012 27 extended up to 3 kilometres from the industry in the down wind direction. We therefore, deem it proper to direct the Collector and District Magistrate to verify whether all the agriculturists in the said impact zone have been duly compensated as per the formula derived by the Expert Committee formed by the Respondent No 5 industry. In case, he observes that some farmers have not been compensated he shall ensure that the appropriate compensation is released by the industry and received by the respective farmers. A compliance report in this behalf shall be submitted within three months.
23. In view of the above, the above application stands disposed off. We deem it proper to impose exemplary cost of Rs. 1 lakh on Respondent Nos.1 and 2 together for non-filing of adequate response and not assisting the Tribunal for proper and effective adjudication of the matter and also, of Rs. (five) 5 lakhs on Respondent no 5 for not immediately informing about the accident and also, the release of pollutants, to the concerned regulators including the GPCB and District Administration. The amount of costs shall be deposited by the Respondents within one month by sending D.D drawn in favour of Fund Manager, Environmental Relief Fund, as per MoEF, Notification GSR- 768(E),dated 4-10-2008, notified under the provisions of Section 7(A) of the Public Liability Insurance Act,1991, directly sent to the said Authority under Registered Post/acknowledgement due. The Respondents shall produce copy of the D.D., copy of the acknowledgment of forwarding letter and receipt of payment to the said Authority, in the office of this Tribunal, within a period of one month (four weeks). In case of default of payment of the said costs, in the manner stated above, we will be constrained to (J)Appln.No.64/2012 28 direct attachment of the constructed building of the Respondents concerned and may issue further directions for suitable legal action as per NGT Act, 2010.
..................................,JM (Justice V.R. Kingaonkar) .................................., EM (Dr. Ajay A. Deshpande) (J)Appln.No.64/2012 29


--- layout: default ---
Small, encapuslated things I learned over the course of my workday. Mainly here as a future reference for myself, but maybe it's helpful for you as well.


Configure Kerberos Authentication for pgAdmin4¶
To configure Kerberos authentication, you must set your Kerberos Server and generate the kinit ticket on the client. To enable the Kerberos authentication for pgAdmin, you must configure the Kerberos settings in config_local.py or config_system.py (see the config.py documentation) on the system where pgAdmin is installed in Server mode. You can copy these settings from config.py file and modify the values for the following parameters.
Parameter |
Description |
|---|---|
AUTHENTICATION_SOURCES |
The default value for this parameter is internal. To enable Kerberos authentication, you must include kerberos in the list of values for this parameter. you can modify the value as follows:
|
KERBEROS_AUTO_CREATE_USER |
Specify value to True if you want to automatically create a pgAdmin user corresponding to the kerberos user credentials. Please note that password is not stored in the pgAdmin database. |
KRB_APP_HOST_NAME |
Specify the name of pgAdmin webserver hostname. Please note that if it is not set, it will take the value of default_server parameter. |
Keytab file for HTTP Service¶
Generate the Keytab file for the HTTP service principal and copy it to the pgAdmin webserver machine. Ensure that the operating system user owning the pgAdmin webserver is the owner of this file and should be accessible by that user.
Please note that either you should set default_keytab_name parameter in krb5.conf file or the environment variable KRB5_KTNAME. If not set then explicitly set KRB_KTNAME to the location of your Keytab file in the config_local.py or config_system.py file.
Apache HTTPD Configuration¶
If the pgAdmin server is under the Apache Server, then you need to add the following parameters in Directory directive of Apache HTTPD Configuration:
WSGIScriptReloading On
WSGIPassAuthorization On
Browser settings to configure Kerberos Authentication¶
You need to do the browser settings on the client machine to use the Spnego/Kerberos.
For Mozilla Firefox
Open the low level Firefox configuration page by loading the about:config page.
In the Search text box, enter: network.negotiate-auth.trusted-uris
Double-click the network.negotiate-auth.trusted-uris preference and enter the hostname or the domain of the web server that is protected by Kerberos HTTP SPNEGO. Separate multiple domains and hostnames with a comma.
Click OK.
For Google Chrome
For Windows:
Open the Control Panel to access the Internet Options dialog.
Select the Security tab.
Select the Local Intranet zone and click the Sites button.
Make sure that the first two options, Include all local (intranet) sites not listed in other zones and Include all sites that bypass the proxy server are checked.
Click Advanced and add the names of the domains that are protected by Kerberos HTTP SPNEGO, one at a time, to the list of websites. For example, myhost.example.com. Click Close.
Click OK to save your configuration changes.
For Linux or MacOS:
Add the –auth-server-whitelist parameter to the google-chrome command. For example, to run Chrome from a Linux prompt, run the google-chrome command as follows:
google-chrome --auth-server-whitelist = "hostname/domain"


Dashboard
menu
Home
Dashboard
Crop Encyclopedia
Share
Map
About
#TODO:Header
Home
Dashboard
Crop Encyclopedia
Share
Map
About
Exit
Coming soon!!


This example shows the load of a
GeoJSON CSS file that contains layer-level and feature-level styles
For generating Leaflet-compatible geographic information in this format, you can use the GeoWE GIS Web Platform. For further information, please check http://www.geowe.org. You can also access this on-line SIG on http://map.geowe.org
José María Martínez Luna (@jmmluna_sig)
http://about.me/jmmluna | https://jmmluna.github.io
<EMAIL_ADDRESS>| jose@geowe.org


NutriCure is started more than 20 skill Development Training Centers in Maharashtra in NutriCure India Pvt Ltd NutriCure India Pvt Ltd initiating Cure India Project NutriCure India Pvt Ltd is Starting Certified online Courses NutriCure India Pvt Ltd is working on ISO , HACCP , BRC and many more Standards Training and Certification NutriCure India Pvt. Ltd in News E – Commerce Partner PAY TM Hospitality Partner OYO Rooms Presence of NutriCure


Here's a little bit about us!
Moustafa is working towards a degree in Software Engineering. As far as SGA goes, he began by serving as a Senator for two years and then extended his leadership into the role as President for 2016. He also served as the President of ISO and the Treasurer of the MCC. Moustafa is also a co-founder of DOPE, and participates in Model United Nations. Outside of class, you can find Moustafa playing club soccer and volleyball with old and new friends. Also at 6’4, he is probably the tallest person you know.
Megan is currently a junior majoring in IBE at Behrend. She sits on the executive board of Alpha Sigma Tau as the Vice President of Community Relations. With this position, she is responsible for giving AST a voice when making Panhellenic decisions. Megan has held other roles and positions within her sorority to help develop as a leader. She is the founder of a philanthropic club, Project Paws. As President of Project Paws, she seeks to represent the mission of the club to support local animal shelters whenever she has an opportunity. Outside of her roles, you may see her in Junker often socializing and staying active or in the library working on academic projects. Feel free to say hi anytime you see her, Megan is super friendly and is always looking to make new friends!
Now after developing their skills, Moustafa and Megan are ready to take on the ultimate responsibility of President and Vice President of Student Government. They look forward to bring their diverse past experiences to better the life of the students at Behrend. They have a wide list of goals they want to implement during their time in SGA. For example, a larger problem on campus is handicap accessibility. Together, they will work to consider all the students of Behrend and ensure their voices are heard. Feel free to message us through the page to express any comments or concerns you may have to make Behrend a better place for you.


4
3
Welcome,
John Deo
My Account
Edit Profile
Status
Register
Logout
Home
About us
Services
Products
Action
Another action
Something else here
Nav header
Separated link
One more separated link
Current Project
Tasks
Enquiry
Contact us
Welcome
Jane
JS
AK
GS
JS
AK
PEOPLE
Projects
Get started with a Project
Badges
share this page
Add me to your Network
Contact us
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
Project Title
Resources
Link
Link to PDF
New Project
Project Name
Add description
Privacy
Lorem Ipsum
Lorem Ipsum


This is a paragraph of text.
This is a paragraph of text. * Part of the above paragraph
This is a paragraph of text. 1. Part of the above paragraph


Puppet Class: php::composer
- Inherits:
- ::php::params
- Defined in:
- manifests/composer.pp
Overview
Install composer package manager
=== Parameters
[source] Holds URL to the Composer source file
[path] Holds path to the Composer executable
[proxy_type] proxy server type (none|http|https|ftp)
[proxy_server] specify a proxy server, with port number if needed. ie: https://example.com:8080.
[auto_update] Defines if composer should be auto updated
[max_age] Defines the time in days after which an auto-update gets executed
[root_group] UNIX group of the root user
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'manifests/composer.pp', line 26
class php::composer (
String $source = $::php::params::composer_source,
Stdlib::Absolutepath $path = $::php::params::composer_path,
$proxy_type = undef,
$proxy_server = undef,
Boolean $auto_update = true,
Integer $max_age = $::php::params::composer_max_age,
Variant[Integer, String] $root_group = $::php::params::root_group,
) inherits ::php::params {
if $caller_module_name != $module_name {
warning('php::composer is private')
}
archive { 'download composer':
path => $path,
source => $source,
proxy_type => $proxy_type,
proxy_server => $proxy_server,
}
-> file { $path:
mode => '0555',
owner => root,
group => $root_group,
}
if $auto_update {
class { '::php::composer::auto_update':
max_age => $max_age,
source => $source,
path => $path,
proxy_type => $proxy_type,
proxy_server => $proxy_server,
}
}
}
|


{% raw %} {% extends "layout.html" %} {% block content %}
This template was created by Weibo Ren for use with the cookiecutter package by Weibo Ren.


Welcome! Here you can find the following things:
Company's logo
List of employees
Company's logo
Company uses the following logos:
New logo:
Old logo:
List of employees
First name
Last name
Mary
Williams
James
Smith


Shawn Mendes & Camila Cabello Kick Off Their Weekend with a Sushi Lunch!
Shawn Mendes and Camila Cabello are kicking off their weekend with a sushi lunch!
The 21-year-old “If I Can’t Have You” singer and the 22-year-old “Liar” singer were spotted having lunch with a friend at sushi restaurant Katsu-ya on Saturday afternoon (November 16) in Studio City, Calif.
PHOTOS: Check out the latest pics of Shawn Mendes
The young singers also stopped by that friend’s home before the meal.
On Friday night, Shawn was spotted lifting Camila into the air for a passionate kiss after having dinner at a popular restaurant in Santa Monica.
25+ pictures inside of Shawn Mendes and Camila Cabello out for lunch…


easyRTC Demo: Data Channel File-sharing
This application demonstrates file sharing using the easyRTC.sendData method. It should connect to the server upon start up, and display drag-and-drop areas for other peers.
To use it, drop a file into the drag-and-drop area for a peer. The peer should receive it.
This demo requires data channels that support blobs, which means (currently) that both parties need to using the same brand of browser and the files have to be very small.
The Demo
Obtaining ID...
Received files:
The Code
HTML
Javascript
The contents of demo_instant_messaging.js:


Contents
Short Descriptions
|
is used to obtain GPGME compilation and linking information. |
|
|
outputs GPGME commands in JSON format. |
|
|
prints fingerprint and keyid with keyservers. |
|
|
contains the GPGME API functions. |
|
|
contains the C++ GPGME API functions. |
|
|
contains API functions for handling GPG operations in Qt applications. |


Getme features
This is an autogenerated feature list for quick reference. Please see the Getme documentation for what each command does.
This is an autogenerated feature list for quick reference. Please see the Getme documentation for what each command does.


Drama Classes
Junior Level
Junior level is structured to provide a gentle introduction into acting skills, walking through games, activities and storytelling. Freedom in movement and expression is the main aim of these classes.  It is a great way to spark a child's imagination and confidence. These drama classes are aimed at children between the ages of 6-10.
Intermediate Level
This level aims to introduce an understanding of acting as a craft, split into specific exercises set down to channel young actors into improvisation and scene building. These classes are aimed at students between the ages of 11-13.
Advanced Level
In this class, specific techniques are taught which give intrinsic structure to the actor's performance. They are challenging, rewarding and often regarded as "theatre's best kept secret". They aim to free up the student's creativity in order to work to professional standards. These techniques are used by some of the world's best actors. We feel privileged to teach these techniques, as they are not widely taught in the UK.


Mouse Component
The Mouse component can be used to collect responses from a participant. The coordinates of the mouse location are
given in the same coordinates as the Window, with (0,0) in the centre.
Scenarios
This can be used in various ways. Here are some scenarios (email the list if you have other uses for your mouse):
Use the mouse to record the location of a button press
- Use the mouse to control stimulus parameters
- Imagine you want to use your mouse to make your ‘patch’_ bigger or smaller and save the final size.
Call your mouse ‘mouse’, set it to save its state at the end of the trial and set the button press to
end the Routine. Then for the size setting of your Patch stimulus insert $mouse.getPos()[0] to use the
x position of the mouse to control the size or $mouse.getPos()[1] to use the y position.
Tracking the entire path of the mouse during a period
Parameters
- Name
: string- Everything in a PsychoPy experiment needs a unique name. The name should contain only letters, numbers and underscores (no punctuation marks or spaces).
- start :
- The time that the mouse should first be checked. See Defining the onset/duration of components for details.
- stop :
- When the mouse is no longer checked. See Defining the onset/duration of components for details.
- Force End Routine on Press
- If this box is checked then the Routine will end as soon as one of the mouse buttons is pressed.
- Save Mouse State
- How often do you need to save the state of the mouse? Every time the subject presses a mouse button, at the end of the trial, or every single frame?
Note that the text output for cases where you store the mouse data repeatedly per trial (e.g. every press or every frame) is likely to be very hard to interpret, so you may then need to analyse your data using the psydat file (with python code) instead.
Hopefully in future releases the output of the text file will be improved.
- Time Relative To
- Whenever the mouse state is saved (e.g. on button press or at end of trial) a time is saved too. Do you want this time to be relative to start of the Routine, or the start of the whole experiment?
See also
API reference for Mouse


Package XMLParser
Class XMLParser.XMLNode
java.lang.Object
XMLParser.XMLParser.XMLNode
- Enclosing class:
- XMLParser
public static class XMLParser.XMLNode
extends java.lang.Object
This class represents a single node in the XML-Tree.
A node may contain a value:
or child-nodes:
A node will always contain an id, in the example: 'foo'.
<foo>value</foo>
or child-nodes:
<foo>
<bar>value</bar>
</foo>
A node will always contain an id, in the example: 'foo'.
- Author:
- jonas.franz
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<XMLParser.XMLNode>
children
The childs of this node.private java.lang.String
ID
The ID of this node.private java.lang.String
value
The value of this node. -
Constructor Summary
-
Method Summary
Modifier and Type Method Description private Token
accept(java.util.List<Token> tokens)
Removes the first token from the given list and returns it.private Token
accept(java.util.List<Token> tokens, Token.TokenType type)
Checks if the first token type is the given type.java.util.List<XMLParser.XMLNode>
getChildren()
Returns the child nodes of this node as list.java.lang.String
getID()
Returns the ID of this node.XMLParser.XMLNode
getNode(java.lang.String ID)
Returns the node with given ID.private XMLParser.XMLNode
getNodeRec(java.lang.String ID)
Recursiveley searches for the given ID in the XML-Tree and returns the first match or null, if no match is found.java.lang.String
getValue()
Returns the value of this node.java.lang.String
getValue(java.lang.String ID)
Returns the value of the node with given ID.void
print(java.io.PrintStream ps)
Prints out this yml-node and all of its children.private void
printRec(java.io.PrintStream ps, int depth)
Prints out this node recursiveley.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
ID
private java.lang.String IDThe ID of this node. For example, the id for an xml-construct like
<foo>value</foo>
should be 'foo'. -
value
private java.lang.String valueThe value of this node. A node can either have a value or childs. The value of a node like
<foo>value</foo>
should be 'value'. -
children
The childs of this node. A node can either have a value or childs.
-
-
Constructor Details
-
XMLNode
Parses a XML-Node from the given token stream. This call may be recursive, and build the XML-Subtree defined in the token stream.- Parameters:
tokens
- The Tokens that represent the XML-File.- Throws:
MalformedXMLException
- Thrown if the XML-Input does not follow XML-Conventions.
-
-
Method Details
-
accept
private Token accept(java.util.List<Token> tokens, Token.TokenType type) throws MalformedXMLExceptionChecks if the first token type is the given type. If this is the case, the first token is removed from the list and returned.- Parameters:
tokens
- The token list.type
- The expected type of the first token.- Returns:
- The removed first token.
- Throws:
MalformedXMLException
- Thrown if the list is empty or the token type is not equal to the expected.
-
accept
Removes the first token from the given list and returns it.- Parameters:
tokens
- The token list.- Returns:
- The removed first token.
- Throws:
MalformedXMLException
- Thrown if the list is empty.
-
getNode
Returns the node with given ID.- Parameters:
ID
- The ID of the searched node.- Returns:
- Returns the first match when the xml-tree is traversed inorder.
-
getNodeRec
Recursiveley searches for the given ID in the XML-Tree and returns the first match or null, if no match is found.- Parameters:
ID
- The searched ID- Returns:
- The found node or null.
-
getValue
public java.lang.String getValue()Returns the value of this node. May be null.- Returns:
- The value of this node.
-
getValue
public java.lang.String getValue(java.lang.String ID)Returns the value of the node with given ID. If this node has the given ID, the value of this node is returned. Otherwise, the subtree of this node is searched for the given ID.- Parameters:
ID
- The ID of the searched node.- Returns:
- The value that was found or null if no node exists with the given id.
-
getID
public java.lang.String getID()Returns the ID of this node.- Returns:
- Returns the id of this node as string.
-
getChildren
Returns the child nodes of this node as list.- Returns:
- Returns the children of this node as list.
-
print
public void print(java.io.PrintStream ps)Prints out this yml-node and all of its children.- Parameters:
ps
- The printstream the nodes should be printed to
-
printRec
private void printRec(java.io.PrintStream ps, int depth)Prints out this node recursiveley.- Parameters:
ps
- The printstream the nodes should be printed tod
- The current printing depth.
-


|
C++ High Level Types
This library provides commonly used high level types and methods for easier and better coding.
|
#include <math.h>
#include <stdint.h>
#include "hltypesExport.h"
#include "hstring.h"
#include "hversion.h"
Go to the source code of this file.
Macros | |
| #define | __HL_RAD_TO_DEG_RATIO 57.295779513082320876798154814105 |
| Used for optimized and quick calculation from RAD to DEG. | |
| #define | __HL_DEG_TO_RAD_RATIO 0.01745329251994329576923690768489 |
| Used for optimized and quick calculation from DEG to RAD. | |
| #define | hsin(degrees) sin((degrees) * __HL_DEG_TO_RAD_RATIO) |
| Calculates sin from angle given in degrees. More... | |
| #define | hcos(degrees) cos((degrees) * __HL_DEG_TO_RAD_RATIO) |
| Calculates cos from angle given in degrees. More... | |
| #define | htan(degrees) tan((degrees) * __HL_DEG_TO_RAD_RATIO) |
| Calculates tan from angle given in degrees. More... | |
| #define | hasin(value) (asin(value) * __HL_RAD_TO_DEG_RATIO) |
| Calculates asin in degrees. More... | |
| #define | hacos(value) (acos(value) * __HL_RAD_TO_DEG_RATIO) |
| Calculates acos in degrees. More... | |
| #define | hatan(x, y) (atan2(x, y) * __HL_RAD_TO_DEG_RATIO) |
| Calculates atan in degrees. More... | |
| #define | HL_E_TOLERANCE 0.0001 |
| hltypes e-tolerance. | |
| #define | HL_CONST_ARRAY_SIZE(cArray) (sizeof(cArray) / sizeof(cArray[0])) |
| Calculates const C-array size. More... | |
| #define | HL_DEFINE_GET(type, name, capsName) inline type get ## capsName() const { return this->name; } |
| Utility macro for quick getter definition. More... | |
| #define | HL_DEFINE_GET2(classe, type1, type2, name, capsName) inline classe<type1, type2> get ## capsName() const { return this->name; } |
| Utility macro for quick getter definition. More... | |
| #define | HL_DEFINE_IS(name, capsName) inline bool is ## capsName() const { return this->name; } |
| Utility macro for quick getter (with "is") definition. More... | |
| #define | HL_DEFINE_SET(type, name, capsName) inline void set ## capsName(type const& value) { this->name = value; } |
| Utility macro for quick setter definition. More... | |
| #define | HL_DEFINE_SET2(classe, type1, type2, name, capsName) inline void set ## capsName(classe<type1, type2> const& value) { this->name = value; } |
| Utility macro for quick setter definition. More... | |
| #define | HL_DEFINE_GETSET(type, name, capsName) HL_DEFINE_GET(type, name, capsName) HL_DEFINE_SET(type, name, capsName) |
| Utility macro for quick getter and setter definition. More... | |
| #define | HL_DEFINE_GETSET2(classe, type1, type2, name, capsName) HL_DEFINE_GET2(classe, type1, type2, name, capsName) HL_DEFINE_SET2(classe, type1, type2, name, capsName) |
| Utility macro for quick getter and setter definition. More... | |
| #define | HL_DEFINE_ISSET(name, capsName) HL_DEFINE_IS(name, capsName) HL_DEFINE_SET(bool, name, capsName) |
| Utility macro for quick getter (with "is") and setter definition. More... | |
| #define | HL_LAMBDA_CLASS(name, returnType, code) |
| Utility macro for local lambda classes. More... | |
| #define | for_iter(name, min, max) for (int name = min; name < max; ++name) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iter_r(name, max, min) for (int name = max - 1; name >= min; --name) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iter_step(name, min, max, step) for (int name = min; name < max; name += step) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iter_step_r(name, max, min, step) for (int name = max - 1; name >= min; name -= step) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_itert(type, name, min, max) for (type name = min; name < max; ++name) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_itert_r(type, name, max, min) for (type name = max - 1; name >= min; --name) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_itert_step(type, name, min, max, step) for (type name = min; name < max; name += step) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_itert_step_r(type, name, max, min, step) for (type name = max - 1; name >= min; name -= step) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iterx(name, min, max) for (name = min; name < max; name++) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iterx_r(name, max, min) for (name = max - 1; name >= min; --name) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iterx_step(name, min, max, step) for (name = min; name < max; name += step) |
| Provides a simpler syntax for iteration. More... | |
| #define | for_iterx_step_r(name, max, min, step) for (name = max - 1; name >= min; name -= step) |
| Provides a simpler syntax for iteration. More... | |
Functions | |
| hltypesFnExport int64_t | htime () |
| Gets the number of seconds passed since 1970/01/01 UTC. More... | |
| hltypesFnExport int64_t | htickCount () |
| Gets the number of milliseconds passed since an arbitrary point in time. More... | |
| hltypesFnExport int64_t | htimeSinceBoot () |
| Gets the number of milliseconds passed since the system boot. More... | |
| hltypesFnExport hltypes::String | henv (const hltypes::String &name) |
| Gets an environment variable as String. More... | |
| hltypesFnExport hltypes::String | hstackTrace (int maxFrames=62) |
| Gets the current stack trace. More... | |
| hltypesFnExport uint64_t | getFreeDiskSpace () |
| Calculates the free disk space on the device. More... | |
| hltypesFnExport int | hrand (int min, int max) |
| Returns a random int number. More... | |
| hltypesFnExport int | hrand (int max) |
| Returns a random int number. More... | |
| hltypesFnExport float | hrandf (float min, float max) |
| Returns a random float number. More... | |
| hltypesFnExport float | hrandf (float max) |
| Returns a random float number. More... | |
| hltypesFnExport double | hrandd (double min, double max) |
| Returns a random double number. More... | |
| hltypesFnExport double | hrandd (double max) |
| Returns a random double number. More... | |
| hltypesFnExport int | hfloor (float value) |
| Floors a float value. More... | |
| hltypesFnExport int | hfloor (double value) |
| Floors a double value. More... | |
| hltypesFnExport float | hfloorf (float value) |
| Floors a float value. More... | |
| hltypesFnExport double | hfloord (double value) |
| Floors a double value. More... | |
| hltypesFnExport int | hceil (float value) |
| Ceils a float value. More... | |
| hltypesFnExport int | hceil (double value) |
| Ceils a double value. More... | |
| hltypesFnExport float | hceilf (float value) |
| Ceils a float value. More... | |
| hltypesFnExport double | hceild (double value) |
| Ceils a double value. More... | |
| hltypesFnExport int | hround (float value) |
| Rounds a float value to the nearest integer value. More... | |
| hltypesFnExport int | hround (double value) |
| Rounds a double value to the nearest integer value. More... | |
| hltypesFnExport float | hroundf (float value) |
| Rounds a float value to the nearest integer value. More... | |
| hltypesFnExport double | hroundd (double value) |
| Rounds a double value to the nearest integer value. More... | |
| hltypesFnExport int | habs (int value) |
| Gets absolute value. More... | |
| hltypesFnExport int64_t | habs (int64_t value) |
| Gets absolute value. More... | |
| hltypesFnExport long | habs (long value) |
| Gets absolute value. More... | |
| hltypesFnExport float | habs (float value) |
| Gets absolute value. More... | |
| hltypesFnExport double | habs (double value) |
| Gets absolute value. More... | |
| hltypesFnExport long double | habs (long double value) |
| Gets absolute value. More... | |
| hltypesFnExport int | hmod (int i, int m) |
| Gets the always-positive value of i mod m. More... | |
| hltypesFnExport int64_t | hmod (int64_t i, int64_t m) |
| Gets the always-positive value of i mod m. More... | |
| hltypesFnExport float | hmodf (float f, float m) |
| Gets the always-positive value of f mod m. More... | |
| hltypesFnExport double | hmodd (double d, double m) |
| Gets the always-positive value of d mod m. More... | |
| hltypesFnExport float | hsqrt (int value) |
| Calculates the square root. More... | |
| hltypesFnExport float | hsqrt (float value) |
| Calculates the square root. More... | |
| hltypesFnExport double | hsqrt (double value) |
| Calculates the square root. More... | |
| hltypesFnExport long double | hsqrt (long double value) |
| Calculates the square root. More... | |
| hltypesFnExport float | hhypot (float a, float b) |
| Calculates the float length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport double | hhypot (double a, double b) |
| Calculates the double length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport float | hhypot (int a, int b) |
| Calculates the float length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport double | hhypotd (int a, int b) |
| Calculates the double length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport float | hhypotSquared (float a, float b) |
| Calculates the float squared length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport double | hhypotSquared (double a, double b) |
| Calculates the double squared length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport int | hhypotSquared (int a, int b) |
| Calculates the int squared length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport float | hhypotfSquared (int a, int b) |
| Calculates the float squared length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport double | hhypotdSquared (int a, int b) |
| Calculates the float squared length of the hypotenuse of a right-angles triangle. More... | |
| hltypesFnExport bool | heqf (float a, float b, float tolerance=HL_E_TOLERANCE) |
| Compares 2 float values within using a tolerance factor. More... | |
| hltypesFnExport bool | heqd (double a, double b, double tolerance=HL_E_TOLERANCE) |
| Compares 2 double values within using a tolerance factor. More... | |
| hltypesFnExport int | hcmpf (float a, float b, float tolerance=HL_E_TOLERANCE) |
| Uses a cmp-like comparison of 2 float values. More... | |
| hltypesFnExport int | hcmpd (double a, double b, double tolerance=HL_E_TOLERANCE) |
| Uses a cmp-like comparison of 2 double values. More... | |
| hltypesFnExport int | hpotCeil (int value) |
| Returns the next power-of-two value of the given number. More... | |
| hltypesFnExport int64_t | hpotCeil (int64_t value) |
| Returns the next power-of-two value of the given number. More... | |
| hltypesFnExport int | hpotFloor (int value) |
| Returns the previous power-of-two value of the given number. More... | |
| hltypesFnExport int64_t | hpotFloor (int64_t value) |
| Returns the previous power-of-two value of the given number. More... | |
| hltypesFnExport unsigned int | hcrc32 (const unsigned char *data, unsigned int size) |
| Calculates CRC32 from a byte stream. More... | |
| hltypesFnExport unsigned int | hcrc32 (hltypes::StreamBase *stream, unsigned int size) |
| Calculates CRC32 from a StreamBase. More... | |
| hltypesFnExport unsigned int | hcrc32 (hltypes::StreamBase *stream) |
| Calculates CRC32 from a StreamBase. More... | |
| hltypesFnExport unsigned int | hcrc32 (hltypes::Stream *stream, unsigned int size) |
| Calculates CRC32 from a Stream. More... | |
| hltypesFnExport unsigned int | hcrc32 (hltypes::Stream *stream) |
| Calculates CRC32 from a Stream. More... | |
| template<typename T > | |
| T | hmin (T a, T b) |
| Returns the lesser of two elements. More... | |
| template<typename T > | |
| T | hmax (T a, T b) |
| Returns the greater of two elements. More... | |
| template<typename T > | |
| T | hclamp (T value, T min, T max) |
| Clamps a value between two other values. More... | |
| template<typename T > | |
| void | hswap (T &a, T &b) |
| Swaps the values of two elements. More... | |
| template<typename T > | |
| int | hsgn (T value) |
| Returns Signum of the value. More... | |
| template<typename T > | |
| bool | hbetweenII (T value, T min, T max) |
| Checks whether an element is within the range of two other elements, inclusively. More... | |
| template<typename T > | |
| bool | hbetweenEE (T value, T min, T max) |
| Checks whether an element is within the range of two other elements, exclusively. More... | |
| template<typename T > | |
| bool | hbetweenIE (T value, T min, T max) |
| Checks whether an element is within inclusive minimum and exclusive maximum of two other elements. More... | |
| template<typename T > | |
| bool | hbetweenEI (T value, T min, T max) |
| Checks whether an element is within exclusive minimum and inclusive maximum of two other elements. More... | |
Variables | |
| hltypesExport String | hltypes::logTag |
| Used for logging display. | |
| hltypesExport Version | hltypes::version |
| Version of the library. | |
This program is free software; you can redistribute it and/or modify it under the terms of the BSD license: http://opensource.org/licenses/BSD-3-Clause
Provides high level utility methods and macros.
| #define for_iter | ( | name, | |
| min, | |||
| max | |||
| ) | for (int name = min; name < max; ++name) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| #define for_iter_r | ( | name, | |
| max, | |||
| min | |||
| ) | for (int name = max - 1; name >= min; --name) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| #define for_iter_step | ( | name, | |
| min, | |||
| max, | |||
| step | |||
| ) | for (int name = min; name < max; name += step) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| [in] | step | Value to increase iterator. |
| #define for_iter_step_r | ( | name, | |
| max, | |||
| min, | |||
| step | |||
| ) | for (int name = max - 1; name >= min; name -= step) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| [in] | step | Value to decrease iterator. |
| #define for_itert | ( | type, | |
| name, | |||
| min, | |||
| max | |||
| ) | for (type name = min; name < max; ++name) |
Provides a simpler syntax for iteration.
| [in] | type | Type of the iteration variable. |
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| #define for_itert_r | ( | type, | |
| name, | |||
| max, | |||
| min | |||
| ) | for (type name = max - 1; name >= min; --name) |
Provides a simpler syntax for iteration.
| [in] | type | Type of the iteration variable. |
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| #define for_itert_step | ( | type, | |
| name, | |||
| min, | |||
| max, | |||
| step | |||
| ) | for (type name = min; name < max; name += step) |
Provides a simpler syntax for iteration.
| [in] | type | Type of the iteration variable. |
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| [in] | step | Value to increase iterator. |
| #define for_itert_step_r | ( | type, | |
| name, | |||
| max, | |||
| min, | |||
| step | |||
| ) | for (type name = max - 1; name >= min; name -= step) |
Provides a simpler syntax for iteration.
| [in] | type | Type of the iteration variable. |
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| [in] | step | Value to decrease iterator. |
| #define for_iterx | ( | name, | |
| min, | |||
| max | |||
| ) | for (name = min; name < max; name++) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| #define for_iterx_r | ( | name, | |
| max, | |||
| min | |||
| ) | for (name = max - 1; name >= min; --name) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| #define for_iterx_step | ( | name, | |
| min, | |||
| max, | |||
| step | |||
| ) | for (name = min; name < max; name += step) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | min | Start value. |
| [in] | max | Final value. |
| [in] | step | Value to increase iterator. |
| #define for_iterx_step_r | ( | name, | |
| max, | |||
| min, | |||
| step | |||
| ) | for (name = max - 1; name >= min; name -= step) |
Provides a simpler syntax for iteration.
| [in] | name | Name of the iteration variable. |
| [in] | max | Start value. |
| [in] | min | Final value. |
| [in] | step | Value to decrease iterator. |
| #define hacos | ( | value | ) | (acos(value) * __HL_RAD_TO_DEG_RATIO) |
Calculates acos in degrees.
| [in] | value | cos value. |
| #define hasin | ( | value | ) | (asin(value) * __HL_RAD_TO_DEG_RATIO) |
Calculates asin in degrees.
| [in] | value | sin value. |
| #define hatan | ( | x, | |
| y | |||
| ) | (atan2(x, y) * __HL_RAD_TO_DEG_RATIO) |
Calculates atan in degrees.
| [in] | x | X value. |
| [in] | y | Y value. |
| #define hcos | ( | degrees | ) | cos((degrees) * __HL_DEG_TO_RAD_RATIO) |
Calculates cos from angle given in degrees.
| [in] | degrees | Angle in degrees. |
| #define HL_CONST_ARRAY_SIZE | ( | cArray | ) | (sizeof(cArray) / sizeof(cArray[0])) |
Calculates const C-array size.
| [in] | cArray | A const C-array. |
| #define HL_DEFINE_GET | ( | type, | |
| name, | |||
| capsName | |||
| ) | inline type get ## capsName() const { return this->name; } |
Utility macro for quick getter definition.
| [in] | type | Variable type. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_GET2 | ( | classe, | |
| type1, | |||
| type2, | |||
| name, | |||
| capsName | |||
| ) | inline classe<type1, type2> get ## capsName() const { return this->name; } |
Utility macro for quick getter definition.
| [in] | classe | Template class. |
| [in] | type1 | First template type argument. |
| [in] | type2 | Second template type argument. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_GETSET | ( | type, | |
| name, | |||
| capsName | |||
| ) | HL_DEFINE_GET(type, name, capsName) HL_DEFINE_SET(type, name, capsName) |
Utility macro for quick getter and setter definition.
| [in] | type | Variable type. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_GETSET2 | ( | classe, | |
| type1, | |||
| type2, | |||
| name, | |||
| capsName | |||
| ) | HL_DEFINE_GET2(classe, type1, type2, name, capsName) HL_DEFINE_SET2(classe, type1, type2, name, capsName) |
Utility macro for quick getter and setter definition.
| [in] | classe | Template class. |
| [in] | type1 | First template type argument. |
| [in] | type2 | Second template type argument. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_IS | ( | name, | |
| capsName | |||
| ) | inline bool is ## capsName() const { return this->name; } |
Utility macro for quick getter (with "is") definition.
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_ISSET | ( | name, | |
| capsName | |||
| ) | HL_DEFINE_IS(name, capsName) HL_DEFINE_SET(bool, name, capsName) |
Utility macro for quick getter (with "is") and setter definition.
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_SET | ( | type, | |
| name, | |||
| capsName | |||
| ) | inline void set ## capsName(type const& value) { this->name = value; } |
Utility macro for quick setter definition.
| [in] | type | Variable type. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_DEFINE_SET2 | ( | classe, | |
| type1, | |||
| type2, | |||
| name, | |||
| capsName | |||
| ) | inline void set ## capsName(classe<type1, type2> const& value) { this->name = value; } |
Utility macro for quick setter definition.
| [in] | classe | Template class. |
| [in] | type1 | First template type argument. |
| [in] | type2 | Second template type argument. |
| [in] | name | Variable name. |
| [in] | capsName | Variable name with capital beginning letter. |
| #define HL_LAMBDA_CLASS | ( | name, | |
| returnType, | |||
| code | |||
| ) |
Utility macro for local lambda classes.
| [in] | name | Class name. |
| [in] | returnType | The return type of the lambda class. |
| [in] | code | The lambda expression as "nameless" function. |
| #define hsin | ( | degrees | ) | sin((degrees) * __HL_DEG_TO_RAD_RATIO) |
Calculates sin from angle given in degrees.
| [in] | degrees | Angle in degrees. |
| #define htan | ( | degrees | ) | tan((degrees) * __HL_DEG_TO_RAD_RATIO) |
Calculates tan from angle given in degrees.
| [in] | degrees | Angle in degrees. |
| hltypesFnExport uint64_t getFreeDiskSpace | ( | ) |
Calculates the free disk space on the device.
| hltypesFnExport int habs | ( | int | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
| hltypesFnExport int64_t habs | ( | int64_t | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
| hltypesFnExport long habs | ( | long | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
| hltypesFnExport float habs | ( | float | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
| hltypesFnExport double habs | ( | double | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
| hltypesFnExport long double habs | ( | long double | value | ) |
Gets absolute value.
| [in] | value | The value to be absoluted. |
|
inline |
Checks whether an element is within the range of two other elements, exclusively.
| [in] | value | The element to check. |
| [in] | min | Minimum exclusive boundary. |
| [in] | max | Maximum exclusive boundary. |
|
inline |
Checks whether an element is within exclusive minimum and inclusive maximum of two other elements.
| [in] | value | The element to check. |
| [in] | min | Minimum exclusive boundary. |
| [in] | max | Maximum inclusive boundary. |
|
inline |
Checks whether an element is within inclusive minimum and exclusive maximum of two other elements.
| [in] | value | The element to check. |
| [in] | min | Minimum inclusive boundary. |
| [in] | max | Maximum exclusive boundary. |
|
inline |
Checks whether an element is within the range of two other elements, inclusively.
| [in] | value | The element to check. |
| [in] | min | Minimum inclusive boundary. |
| [in] | max | Maximum inclusive boundary. |
| hltypesFnExport int hceil | ( | float | value | ) |
Ceils a float value.
| [in] | value | The value to be ceiled. |
| hltypesFnExport int hceil | ( | double | value | ) |
Ceils a double value.
| [in] | value | The value to be ceiled. |
| hltypesFnExport double hceild | ( | double | value | ) |
Ceils a double value.
| [in] | value | The value to be ceiled. |
| hltypesFnExport float hceilf | ( | float | value | ) |
Ceils a float value.
| [in] | value | The value to be ceiled. |
|
inline |
Clamps a value between two other values.
| [in] | value | The element to clamp. |
| [in] | min | Minimum inclusive boundary. |
| [in] | max | Maximum inclusive boundary. |
| hltypesFnExport int hcmpd | ( | double | a, |
| double | b, | ||
| double | tolerance = HL_E_TOLERANCE |
||
| ) |
Uses a cmp-like comparison of 2 double values.
| [in] | a | First double value. |
| [in] | b | Second double value. |
| [in] | tolerance | How much of a difference should be tolerated. |
| hltypesFnExport int hcmpf | ( | float | a, |
| float | b, | ||
| float | tolerance = HL_E_TOLERANCE |
||
| ) |
Uses a cmp-like comparison of 2 float values.
| [in] | a | First float value. |
| [in] | b | Second float value. |
| [in] | tolerance | How much of a difference should be tolerated. |
| hltypesFnExport unsigned int hcrc32 | ( | const unsigned char * | data, |
| unsigned int | size | ||
| ) |
Calculates CRC32 from a byte stream.
| [in] | data | Data stream. |
| [in] | size | Size of the data stream. |
| hltypesFnExport unsigned int hcrc32 | ( | hltypes::StreamBase * | stream, |
| unsigned int | size | ||
| ) |
Calculates CRC32 from a StreamBase.
| [in] | stream | StreamBase from which to calculate the CRC32. |
| [in] | size | Number of bytes to read for CRC32. |
| hltypesFnExport unsigned int hcrc32 | ( | hltypes::StreamBase * | stream | ) |
Calculates CRC32 from a StreamBase.
| [in] | stream | StreamBase from which to calculate the CRC32. |
| hltypesFnExport unsigned int hcrc32 | ( | hltypes::Stream * | stream, |
| unsigned int | size | ||
| ) |
Calculates CRC32 from a Stream.
| [in] | stream | Stream from which to calculate the CRC32. |
| [in] | size | Number of bytes to read for CRC32. |
| hltypesFnExport unsigned int hcrc32 | ( | hltypes::Stream * | stream | ) |
Calculates CRC32 from a Stream.
| [in] | stream | Stream from which to calculate the CRC32. |
| hltypesFnExport hltypes::String henv | ( | const hltypes::String & | name | ) |
Gets an environment variable as String.
| [in] | name | Name of the environment variable. |
| hltypesFnExport bool heqd | ( | double | a, |
| double | b, | ||
| double | tolerance = HL_E_TOLERANCE |
||
| ) |
Compares 2 double values within using a tolerance factor.
| [in] | a | First double value. |
| [in] | b | Second double value. |
| [in] | tolerance | How much of a difference should be tolerated. |
| hltypesFnExport bool heqf | ( | float | a, |
| float | b, | ||
| float | tolerance = HL_E_TOLERANCE |
||
| ) |
Compares 2 float values within using a tolerance factor.
| [in] | a | First float value. |
| [in] | b | Second float value. |
| [in] | tolerance | How much of a difference should be tolerated. |
| hltypesFnExport int hfloor | ( | float | value | ) |
Floors a float value.
| [in] | value | The value to be floored. |
| hltypesFnExport int hfloor | ( | double | value | ) |
Floors a double value.
| [in] | value | The value to be floored. |
| hltypesFnExport double hfloord | ( | double | value | ) |
Floors a double value.
| [in] | value | The value to be floored. |
| hltypesFnExport float hfloorf | ( | float | value | ) |
Floors a float value.
| [in] | value | The value to be floored. |
| hltypesFnExport float hhypot | ( | float | a, |
| float | b | ||
| ) |
Calculates the float length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport double hhypot | ( | double | a, |
| double | b | ||
| ) |
Calculates the double length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport float hhypot | ( | int | a, |
| int | b | ||
| ) |
Calculates the float length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport double hhypotd | ( | int | a, |
| int | b | ||
| ) |
Calculates the double length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport double hhypotdSquared | ( | int | a, |
| int | b | ||
| ) |
Calculates the float squared length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport float hhypotfSquared | ( | int | a, |
| int | b | ||
| ) |
Calculates the float squared length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport float hhypotSquared | ( | float | a, |
| float | b | ||
| ) |
Calculates the float squared length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport double hhypotSquared | ( | double | a, |
| double | b | ||
| ) |
Calculates the double squared length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
| hltypesFnExport int hhypotSquared | ( | int | a, |
| int | b | ||
| ) |
Calculates the int squared length of the hypotenuse of a right-angles triangle.
| [in] | a | First cathetus. |
| [in] | b | Second cathetus. |
|
inline |
Returns the greater of two elements.
| [in] | a | First element. |
| [in] | b | Second element. |
|
inline |
Returns the lesser of two elements.
| [in] | a | First element. |
| [in] | b | Second element. |
| hltypesFnExport int hmod | ( | int | i, |
| int | m | ||
| ) |
Gets the always-positive value of i mod m.
| [in] | i | Integer value. |
| [in] | m | Modulo value. |
| hltypesFnExport int64_t hmod | ( | int64_t | i, |
| int64_t | m | ||
| ) |
Gets the always-positive value of i mod m.
| [in] | i | Integer value. |
| [in] | m | Modulo value. |
| hltypesFnExport double hmodd | ( | double | d, |
| double | m | ||
| ) |
Gets the always-positive value of d mod m.
| [in] | d | Double value. |
| [in] | m | Modulo value. |
| hltypesFnExport float hmodf | ( | float | f, |
| float | m | ||
| ) |
Gets the always-positive value of f mod m.
| [in] | f | Float value. |
| [in] | m | Modulo value. |
| hltypesFnExport int hpotCeil | ( | int | value | ) |
Returns the next power-of-two value of the given number.
| [in] | value | the number to check. |
| hltypesFnExport int64_t hpotCeil | ( | int64_t | value | ) |
Returns the next power-of-two value of the given number.
| [in] | value | the number to check. |
| hltypesFnExport int hpotFloor | ( | int | value | ) |
Returns the previous power-of-two value of the given number.
| [in] | value | the number to check. |
| hltypesFnExport int64_t hpotFloor | ( | int64_t | value | ) |
Returns the previous power-of-two value of the given number.
| [in] | value | the number to check. |
| hltypesFnExport int hrand | ( | int | min, |
| int | max | ||
| ) |
Returns a random int number.
| [in] | min | Inclusive lower boundary. |
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport int hrand | ( | int | max | ) |
Returns a random int number.
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport double hrandd | ( | double | min, |
| double | max | ||
| ) |
Returns a random double number.
| [in] | min | Inclusive lower boundary. |
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport double hrandd | ( | double | max | ) |
Returns a random double number.
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport float hrandf | ( | float | min, |
| float | max | ||
| ) |
Returns a random float number.
| [in] | min | Inclusive lower boundary. |
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport float hrandf | ( | float | max | ) |
Returns a random float number.
| [in] | max | Exclusive upper boundary. |
| hltypesFnExport int hround | ( | float | value | ) |
Rounds a float value to the nearest integer value.
| [in] | value | The value to be rounded. |
| hltypesFnExport int hround | ( | double | value | ) |
Rounds a double value to the nearest integer value.
| [in] | value | The value to be rounded. |
| hltypesFnExport double hroundd | ( | double | value | ) |
Rounds a double value to the nearest integer value.
| [in] | value | The value to be rounded. |
| hltypesFnExport float hroundf | ( | float | value | ) |
Rounds a float value to the nearest integer value.
| [in] | value | The value to be rounded. |
|
inline |
Returns Signum of the value.
| [in] | value | The value. |
| hltypesFnExport float hsqrt | ( | int | value | ) |
Calculates the square root.
| [in] | value | Value to square root. |
| hltypesFnExport float hsqrt | ( | float | value | ) |
Calculates the square root.
| [in] | value | Value to square root. |
| hltypesFnExport double hsqrt | ( | double | value | ) |
Calculates the square root.
| [in] | value | Value to square root. |
| hltypesFnExport long double hsqrt | ( | long double | value | ) |
Calculates the square root.
| [in] | value | Value to square root. |
| hltypesFnExport hltypes::String hstackTrace | ( | int | maxFrames = 62 | ) |
Gets the current stack trace.
| [in] | maxFrames | How many frames. |
|
inline |
Swaps the values of two elements.
| [in,out] | a | First element. |
| [in,out] | b | Second element. |
| hltypesFnExport int64_t htickCount | ( | ) |
Gets the number of milliseconds passed since an arbitrary point in time.
| hltypesFnExport int64_t htime | ( | ) |
Gets the number of seconds passed since 1970/01/01 UTC.
| hltypesFnExport int64_t htimeSinceBoot | ( | ) |
Gets the number of milliseconds passed since the system boot.


{% extends init.Base %} {% load static %} {% load ArticlesFilters %} {% block header_scripts_and_style %} {% endblock %} {% block section %}
Search By Tags
Search By Openion
Search By Words
Search By Date
By : Hady
Date : 5/10/2018
Title : Hey i Am Here
Tags : #Tags One #Tags One #Tags One #Tags One
Hello From Article This is Hady Eslam MohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamedMohamed
Likes 0
DisLikes 0
Comments 0


lost.
been
had
y
a
w
h
t
p
forward
straightthe
For
darkwithin a forest,
I found myself
of our life
Midway upon the journey
>
<


|
KPN Things Device SDK
|
#include "senml_enums.h"
Variables | |
| const char | str1 [] = "" |
| const char | str2 [] = "m" |
| const char | str3 [] = "kg" |
| const char | str4 [] = "g" |
| const char | str5 [] = "s" |
| const char | str6 [] = "A" |
| const char | str7 [] = "K" |
| const char | str8 [] = "cd" |
| const char | str9 [] = "mol" |
| const char | str10 [] = "Hz" |
| const char | str11 [] = "rad" |
| const char | str12 [] = "sr" |
| const char | str13 [] = "N" |
| const char | str14 [] = "Pa" |
| const char | str15 [] = "J" |
| const char | str16 [] = "W" |
| const char | str17 [] = "C" |
| const char | str18 [] = "V" |
| const char | str19 [] = "F" |
| const char | str20 [] = "Ohm" |
| const char | str21 [] = "S" |
| const char | str22 [] = "Wb" |
| const char | str23 [] = "T" |
| const char | str24 [] = "H" |
| const char | str25 [] = "Cel" |
| const char | str26 [] = "lm" |
| const char | str27 [] = "lx" |
| const char | str28 [] = "Bq" |
| const char | str29 [] = "Gy" |
| const char | str30 [] = "Sv" |
| const char | str31 [] = "kat" |
| const char | str32 [] = "m2" |
| const char | str33 [] = "m3" |
| const char | str34 [] = "l" |
| const char | str35 [] = "m/s" |
| const char | str36 [] = "m/s2" |
| const char | str37 [] = "m3/s" |
| const char | str38 [] = "l/s" |
| const char | str39 [] = "W/m2" |
| const char | str40 [] = "cd/m2" |
| const char | str41 [] = "bit" |
| const char | str42 [] = "bit/s" |
| const char | str43 [] = "lat" |
| const char | str44 [] = "lon" |
| const char | str45 [] = "pH" |
| const char | str46 [] = "dB" |
| const char | str47 [] = "dBW" |
| const char | str48 [] = "Bspl" |
| const char | str49 [] = "count" |
| const char | str50 [] = "//" |
| const char | str51 [] = "%RH" |
| const char | str52 [] = "%EL" |
| const char | str53 [] = "EL" |
| const char | str54 [] = "1/s" |
| const char | str55 [] = "1/min" |
| const char | str56 [] = "beat/min" |
| const char | str57 [] = "beats" |
| const char | str58 [] = "S/m" |
| const char | str59 [] = "ppm" |
| const char *const | senml_units_names [] |
| const char* const senml_units_names[] |
| const char str1[] = "" |
| const char str10[] = "Hz" |
| const char str11[] = "rad" |
| const char str12[] = "sr" |
| const char str13[] = "N" |
| const char str14[] = "Pa" |
| const char str15[] = "J" |
| const char str16[] = "W" |
| const char str17[] = "C" |
| const char str18[] = "V" |
| const char str19[] = "F" |
| const char str2[] = "m" |
| const char str20[] = "Ohm" |
| const char str21[] = "S" |
| const char str22[] = "Wb" |
| const char str23[] = "T" |
| const char str24[] = "H" |
| const char str25[] = "Cel" |
| const char str26[] = "lm" |
| const char str27[] = "lx" |
| const char str28[] = "Bq" |
| const char str29[] = "Gy" |
| const char str3[] = "kg" |
| const char str30[] = "Sv" |
| const char str31[] = "kat" |
| const char str32[] = "m2" |
| const char str33[] = "m3" |
| const char str34[] = "l" |
| const char str35[] = "m/s" |
| const char str36[] = "m/s2" |
| const char str37[] = "m3/s" |
| const char str38[] = "l/s" |
| const char str39[] = "W/m2" |
| const char str4[] = "g" |
| const char str40[] = "cd/m2" |
| const char str41[] = "bit" |
| const char str42[] = "bit/s" |
| const char str43[] = "lat" |
| const char str44[] = "lon" |
| const char str45[] = "pH" |
| const char str46[] = "dB" |
| const char str47[] = "dBW" |
| const char str48[] = "Bspl" |
| const char str49[] = "count" |
| const char str5[] = "s" |
| const char str50[] = "//" |
| const char str51[] = "%RH" |
| const char str52[] = "%EL" |
| const char str53[] = "EL" |
| const char str54[] = "1/s" |
| const char str55[] = "1/min" |
| const char str56[] = "beat/min" |
| const char str57[] = "beats" |
| const char str58[] = "S/m" |
| const char str59[] = "ppm" |
| const char str6[] = "A" |
| const char str7[] = "K" |
| const char str8[] = "cd" |
| const char str9[] = "mol" |


022 045 3882
<EMAIL_ADDRESS>Auckland, NZ
I am a Web Developer currently based in Auckland, NZ. I love all aspects of web development from creating pixel perfect user interfaces to writing complex database queries to get the most out of the data given to me. Currently looking for my next programming role! If you think I might be a good fit please send me an email or give me a call using the details above.