--- layout: post title: Content Manager 9.3 SDK Docs released categories: [] tags: cm-93 status: publish type: post published: true meta: {} ---
The 9.3 SDK docs are now available, including release notes detailing changes to the SDK interface.


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.
THE HIGH COURT OF MADHYA PRADESH MCRC-8837-2012 (G.P. KUNDARGI Vs M.P. STATE POLLUTION CONTROL BOARD) 27 Jabalpur, Dated : 20-03-2018 (G.P. KUNDARGI .............Petitioner Vs M.P. STATE POLLUTION CONTROL BOARD...............Respondent) sh For the petitioner No.1: Mr.R.N.Singh, Senior Counsel e ad with Mr.Akshay Pawar, Advocate For the petitioners: Mr.Sankalp Kochar, Advocate No.2 to 5 For the respondent: Pr Mr.V.S.Shroti, Senior Advocate a with Mr.Sourav Soni, Advocate hy ================================== Present: Hon'ble Mr.Justice Sushil Kumar Palo ad ORDER
M [20/03/2018] The petitioners have jointly filed this petition under section 482 of the Code of of Criminal Procedure to invoke the inherent jurisdiction of this Court and to quash the Criminal Case No.339/2010 registered before the Chief Judicial Magistrate, Balaghat.
rt
2. Briefly stated, the facts given rise to filing of this case are that the ou respondent-Madhya Pradesh Pollution Control Board (hereinafter referred to as the "PCB") filed a criminal complaint case before the Chief Judicial Magistrate, Bhopal C against the petitioners vide Annexure-A-3 under sections 15, 19 and 21 of the Environment (Protection) Act, 1986 [for brevity "1986 Act"] contending that the PCB h has been constituted under section 4 of the Water (Prevention & Control of Pollution) ig Act, 1974 [for short "1974 Act"]. The Environment (Protection) Act, 1986 empowers H the Regional Officer of PCB to file complaint under section 19 of the Act of 1986.
3 It is claimed that on 23.3.2009 the Department of Environment and Forest Ministry, Government of India, New Delhi issued a letter to the PCB that the Manganese Ore India Limited (for short "MOIL"), Balaghat while operating the manganese ore quarry and its Beneficiation Plant situated at villages Bharveli, Hirapur, Manegaon, Manjhara, Ablajiri and Tawejiri, Tahsil, District Balaghat have been operating without obtaining sanction under the 1986 Act. Hence, the PCB be directed to initiate action under section 19 of the 1986 Act. PCB, therefore, issued a letter dated 13.4.2009 and 07.11.2009 to the Regional Officer, Jabalpur to initiate action against MOIL, Balaghat under section 19 of the 1986 Act. By letter dated 19.5.2009 M/s.MOIL intimated that for the quarry of manganese ore in Balaghat, a Beneficiation Plant has been established and is operational since 07.1.2008. The production has been shown to be 9376 Metric Ton (MT) in the year 2007-08; 86997 MT in 2008-09 and 7300 MT in April, 2009. It is stated that before the Beneficiation Plant has been established and became operational, an environmental clearance ought to have been obtained by MOIL, as per the requirement of notification dated 14.9.2006. But, no such clearance/sanction has been obtained.
4. On 22.3.2009, the Department of Environment and Forest, New Delhi given the clearance/sanction. Therefore, the Beneficiation Plant has been established and functional from 07.1.2008 till 23.2.2009 is without valid sanction from the Department of Environment and Forest.
5. The petitioner No.1-G.P.Kundargi is the Director of the Process & Planning. The petitioner No.2-V.N.Chandrakar, the then Incharge Agent, under whose supervision the Beneficiation Plant was constructed. The petitioner No.3-M.P. Patel is the Agent of sh MOIL, Bharveli Office and is now the Incharge of Beneficiation Plant. The Petitioner No.4 is P.Karaiya who is the Manager of the Balaghat Manganese Ore quarry and e Manganese Beneficiation Plant. The petitioner No.5 is the M/s.Manganese Ore India ad Limited through its Manager K.Chandrakar. The petitioners No.1 to 4 are responsible Pr persons for the operation of the plant and also responsible for day to day business of the Manganese Beneficiation Plant and, therefore, are liable under section 15 of the 1986 a Act.
hy
6. On behalf of the petitioner No.1-G.P.Kundargi, it is claimed that he has been appointed as the Director (Production & Planning) MOIL as per order dated 15.6.2010 ad issued by the Government of India, Ministry of Steel and subsequent thereto he joined at Headquarter, Nagpur. Hence, he is not at all liable for the operation of the mines of M MOIL before 15.6.2010. It is contended that as per the complaint by the PCB offence has been committed from 07.1.2008 to 22.3.2009, therefore, the petitioner No.1 was not of the Director of the company and hence, he cannot be held responsible for the acts prior to 15.6.2010. It is further claimed that the production capacity of the plant was 3 lacs rt Ton Per Annum (TPA) of manganese ore. The production is shown in the plant for the ou years 2007-09 to be below 3 lacs ton, even after the establishment of Beneficiation Plant. Hence no offence is made out, therefore, the petitioner No.1 is not liable and C entitled for the quashment of the Criminal Complaint Case No. 339/2010. h
7. It is also contended that the petitioner No.1 was appointed at Nagpur.The ig incident allegedly took place at Balaghat. The petitioner No.1, though Director of the Company was not the Incharge of the operation of day to day business of MOIL, H Balaghat, therefore, the petitioner No.1 cannot be held responsible for the so called offence. In this regard, learned senior counsel has placed reliance on the decision in the cases of Anita Malhotra vs. Apparel Export Promotion Council and others, (2012) 1 SCC 520.
8. On behalf of the petitioner No.2 to 5 request is made to quash the Criminal Case No.339/2010 registered before the Chief Judicial Magistrate, Balaghat on the ground that the complaint is lodged by the incompetent authority as there is no order authorizing the Regional Officer of the PCB to file the complaint under section 19 of the 1986 Act. The contents of the complaint dehors the request of the Central Government made vide letter dated 23.3.2009 inasmuch as the request made for launching the prosecution for enhancement in production capacity in the Beneficiation Plant without environment clearance of the production of the Beneficiation Plant and not for enhancement of the production capacity. The complaint, therefore, has travelled beyond the mandate of the letter dated 23.3.2009, wherein the Ministry of Environment Protection and Forest had directed the State Government to take action against the defaulting unit.The petitioner No.1 not a party of the defaulting unit.The production capacity for the Balaghat mines had the environment clearance since 1994. Therefore, the Act of 1986 is culled out. Environmental clearance has been granted to the mines of MOIL at Balaghat and the sanction for enhancement production capacity of 3 MTPA to 5 MTPA has been accorded by the Ministry of Environment and Forest. Therefore, the complaint against the petitioners is high-handedness and cavalier behaviour on the part of the respondents. It is also argued that the notification dated 27.1.1994 makes it axiomatic that the environment clearance would be required for expansion or sh modernization of any activity, if the pollution load exceeds the existing one or new project listed in Schedule-I of the notification. Hence, the environmental clearance e would have been required only for expansion or modernizatoin of activity. This is not ad the case in the instant factual matrix. The MOIL has been carrying out its production Pr with 3 lac MTPA capacity and expansion or modernization has been done with prior environment clearance. Hence, there is no violation of the notification dated 27.1.1994 a or circular dated 13.10.2006. In this background the complaint tantamount to abuse of hy process of law and deserves to be quashed in limine.
9. During the course of arguments, the petitioners No. 2 to 5 also referred to ad the summary record of 9th meeting of Experts Appraisal Committee for Environmental Appraisal of Mining Project constituted under the Environment Impact Assessment M (EIA) Notification of 2006. It is stated in paragraph 2.27 with regard to Balaghat Mining Project of MOIL, in which, it has been decided that the said beneficiation plant is of reported to be under construction for which work had started prior to the EIA Notification, 2006 coming into force with all requisite clearance as applicable at the rt time and hence the beneficiation plant does not require environmental clearance. It is ou also argued that in the Summary Record of 23rd meeting of the Expert Appraisal Committee for Environmental Appraisal of Mining Project constituted under the EIA C Notification, 2006 dated 19.1.2009 it has been held that with regard to MOIL of h Balaghat Manganese Ore Project, Bharveli based on the presentation made and ig discussion held the Committee recommended the project for environmental clearance both for the manganese mine and beneficiation plant of 0.5 million TPA capacity. It is H further argued that the PCB under the Water Act, 1974 has given the environmental clearance for 3 lac MTPA vide letters dated 24.10.2006 and 18.8.2008. Hence, the total production including the beneficiation plant has not exceeded the production capacity, therefore, it would not be appropriate to hold that the petitioners have committed any offence.
10. On behalf of the respondent it is contended that the MOIL established a new plant i.e. Beneficiation Plant and commissioned the same without obtaining the environmental clearance from the Government of India under the Environment Impact Assessment Notification dated 14.09.2006 and without obtaining the consent of PCB under sections 25 of the Water Act, 1974 and section 21 of the Air Act, 1981. It is also submitted that the Environment Clearance under the Notification dated 14.9.2006 issued by the Government of India is mandatory, to obtain the consent of PCB. It is mandatory to follow the conditions imposed therein. The company applied for environmental clearance on 08.12.2006 for enhancement of production of manganese ore and for setting up of beneficiation plant. The company established its Beneficiation Plant and commissioned the same on 07.1.2008. On 23.3.2009 the Government of India has granted environment clearance to the company and the Government of India has also informed the State Government about the illegalities committed by the company and with regard to violation of notification, therefore, directed to initiate action under section 19 of 1986 Act. On 19.5.2009, the petitioners wrote to the PCB furnishing information on production of minerals from the mines including production from Beneficiation Plant. The petitioners as officers at the time of offence were incharge and are responsible to the company for conduct of the business. Hence are liable for the sh offence committed. The Beneficiation plant was commissioned on 07.1.2008 without obtaining the environment clearance from the Government of India as required under e the EIA Notification dated 14.9.2006. This continued commission of offence by ad operation from 07.1.2008 till date 23.3.2009 on which the environmental clearance was Pr granted. The petitioners produced minerals without obtaining the environmental clearance or consent of the PCB. Hence, are liable for the same. Therefore, prima facie a offence is made out against the petitioners as offered in the complaint.
hy
11. It is further submitted that petitioner No.1-G.P.Kundargi joined the company on 01.6.2008. Vide letter dated 25.5.2008 as General Manager of MOIL became the ad Director of the Production & Planning. Subsequently, by order dated 15.6.2010 he became the Director Production & Planning of MOIL with effect from 02.6.2008 itself M indicates that he joined as Director since 02.6.2008. The alleged offence committed for the period 07.1.2008 till 22.3.2009. Hence, he is liable for the offence. It is also of contended that petitioner No.1-G.P.Kundargi is responsible for the company and for its operation. Even otherwise, it is a matter of evidence. Evidence is yet to be recorded.
rt Therefore, the petitioner No.1-G.P.Kundagi is holding managerial post and is ou responsible to observe the directions, rules and regulations made by the Central Government, specified in the notification of EIA. C
12. There are specific allegations made against each of the petitioners. In h paragraph 11 of the complaint the question of vicarious liability or the mens rea need ig not be considered at this stage, for statutory liability has been fastened under the statute and, therefore, it is a case of strict liability. H
13. As regarding incompetence of Regional Officer to file a complaint, learned counsel for the respondent submitted that the Regional Officer has the competence to file a complaint under section 19 of the 1986 Act, even though the procedural irregularity can be cured at a later stage also. In his concluding remarks during arguments, learned counsel appearing for the respondent/PCB submitted that the scope of interference under section 482 of the Code of Criminal Procedure is very limited. The Court has to exercise its jurisdiction sparingly and when there is prima facie case against the petitioners/accused persons, the exercise of power under section 482 Cr.P.C. is not called for.
14. Heard the counsel for the parties. Perused the record.
15. As per the role of the Directors it has been specifically attributed. The responsibility of the Directors in conducting the affairs of the accused/company has to be clearly spelt out. Bald statement is not sufficient to proceed against the Director. The petitioners role in day to day affairs of the company has to be brought out. Apart from relying on the citation of Anita Malhotra (supra) the petitioners No.2 to 5 have also placed reliance on the decision in the case of National Small Industries Corporation Limited vs. Harmeet Singh Paintal and another, (2010) 3 SCC 330 which is a case under section 138 of the Negotiable Instruments Act, 1881 wherein vicarious liability of the Directors/accused held to be pleaded and proved and not inferred. The Apex Court has further added that the averments required to be made in the complaint, therefore, to be specifically spelt out how and in what manner the Director who was incharge was responsible to the accused/company sh for conducting the business.
16. Learned counsel for the petitioner has also referred to the decision in e the case of N.K.Wahi vs. Shekhar Singh and others, (2007) 9 SCC 481 wherein ad in a case under the provisions of Negotiable Instruments Act the Hon'ble Apex Pr Court has laid down that the constructive liability is of the Director as postulated under section 141 of the 1881 Act for the conduct or business of the company has a to be spelled out. In the absence of the same, the complaint is not tenable.
hy
17. The petitioner has further placed reliance on the decision in the case of S.M.S.Pharmaceuticals Ltd. vs. Neeta Bhalla and another, (2005) 8 SCC 89 ad wherein offence under section 138 of the Negotiable Instruments Act the Apex M Court has propounded that in case of dishonour of cheque, in respect of offence by the company the essential averments are to be made in the complaint that at of the time when the offence was committed the person accused was in charge of, and responsible for the conduct of business of the company. Without this rt averment, the complaint cannot be said to be satisfied.
ou
18. Learned counsel for the petitioners No.2 to 5 has also referred to the case of Mona Ben Ketanbhai Shah and another vs. State of Gujarat and others, C (2004) 7 SCC 15 wherein in a case of dishonour of cheque the Apex Court has h laid down the principle about vicarious liability of the partner and relevant ig consideration for quashing the complaint against the accused. The Apex Court H held that if the complaint is read as a whole, the factual foundation of the offence has been laid in the complaint, it should not be quashed. The Court must discharge the accused if taking everything stated in the complaint as correct and construed the allegations made therein liberally in favour of the complainant, the ingredients of the offence are altogether lacking.
19. Learned counsel for the respondent on the other hand in advancing the arguments submitted that when the complainant supports the facts on oath that he has personal knowledge of facts and the criminality of the company, the Director is liable criminally. In this regard reliance has been placed in the case of K.Sitaram vs. CFL Capital Finance Service Ltd., 2017) 5 SCC 725 wherein it has been held that under Corporate criminal liability relating to offence by company, the person acting on behalf of the company viz. Director, etc. can be made criminally liable where a statute regime of vicarious liability covers the situation and where there is no such statutory regime.
20. Learned counsel for the respondent-Pollution Control Board (PCB) has also advanced the arguments that object and purpose is to eliminate the danger to human live, therefore, placing reliance on the decision in the case of Dineshchandra Jamnadas Gandhi vs. State of Gujarat and another, AIR 1989 SC 1011 it is contended that statute of Food Adulteration is a social defence legislation, therefore, appropriate construction should be made to suppress the mischief of food adulteration. He further referred to the decision in the case of R.K.Kalyani vs. Janak C. Mehta and others, (2009) 1 SCC 516 wherein the sh Apex Court has discussed the inherent power of the High Court for quashing the First Information Report under section 482 of the Code of Criminal Procedure e and held that the respondent were sought to be proceeded against on the premises ad that they were vicariously liable for affairs of the company, for that the company Pr must be made an accused as legal fiction is raised both against the company as well as the person responsible for the acts of the company. Besides when the a vicarious criminal liability is fastened on a person on the premise that he was hy charge of the affairs of the company and responsible to it all the ingredients laid ad down under the statute must be fulfilled.
21. Reliance has also been placed on the decision in the case of State of M Madhya Pradesh vs. Shamsher Singh and another, AIR 1989 SC 1789 wherein in the case under Essential Commodities Act when the accused export bags of without valid permit, the Apex Court held that it was a case of attempted unlawful export of fertiliser bags and not the case of mere preparation alone.
rt Mens rea is not necessary. The decision of the High Court was reversed holding ou that section is comprehensively worded so that it takes within its fold not only C contraventions done knowingly or intentionally but even otherwise i.e. done unintentionally. Therefore, it would be proper to hold that the accused acted h bonafide and was not directly responsible for the conduct. of the conduct and the ig contract one of the fundamental postulae of a legal order that rules of law H enforces objective manner to be ascertain by the Court and to substitute the opinion of the personal charge with the approach of law for the law itself. The consequence would that whenever defendant in criminal case sought that law was thus, and so, he is to be treated as though, the law was thus and so, i.e., the law actually is thus and so. The constructoin of the language of such a statute should be construed in the manner which would suppress the mischief advance the remedy and promote its object and prevent the subtle evasion and foil its artful circumvention.
22. Learned counsel for the petitioners No.2 to 5 arguing on the point of cognizance and issuance of summon referred to in the case of Aroon Poorie vs. Jayakumar Hiremath, (2017) 7 SCC 767 and Mahendra Singh Dhoni vs. Yerraguntla Shyamsundar and another, (2017) 7 SCC 760 and argued that the summons must be carefully scrutinized and the allegation made in the complaint should meet the basic ingredients of the offence and the concept of territorial jurisdiction is satisfied, are to be considered and whether the accused needs to be summoned or not. In this regard Magistrate may hold an enquiry either by himself or direct investigation by the police, prior to issuance of the process under section 202 (1) of the Code of Criminal Procedure. In the absence of such course being adopted by the Magistrate, he has no jurisdiction to issue summons. The present case is completely on a different footing.
23. The High Court is not the Court of appeal and it is to be considered whether the Court should exercise the jurisdiction under section 482 of the Code sh of Criminal Procedure. In the case of Monica Kumar (Dr.) and another vs. State of Uttar Pradesh and others, (2008) 8 SCC 781 the Apex Court held that while e exercising the jurisdiction under section 142 of the Code of Criminal Procedure ad for quashing the criminal proceeding the Supreme Court does not function as a Pr court of appeal or revision. When the allegations are assumed to be true the High Court has to assess the nature of allegations and the prosecution case. Though a there is no hard and fast rule laid down in this regard, the facts are hazy and hy evidence has not been collected, it has been held that High Court under section ad 482 Cr.P.C. should normally refrain from giving prima facie decision.
24. In the case of Radhey Shyam Khemka and another vs. State of M Bihar, (1993) 3 SCC 54 the Apex Court has opined that while exercising the powers under section 482 of the Code of Criminal Procedure for quashing the of prosecution, the High Court cannot hold a parallel trial. If offence prima facie falls under the Penal Code, launching of prosecution cannot be thwarted by High rt Court under section 482 of the Code of Criminal Procedure merely because penal ou action open under another statute. Mens rea is essential for offence under the C Penal Code but to consistiute offence under any social welfare legislation, mere breach or contravention of its provision is sufficient. In the circumstances h prevailed it would be appropriate not to interference at this stage in the impugned ig order.
H
25. As regarding material to proceed against, the petitioners No.2 to 5 further placed reliance on the decision in the case of Pepsi Foods Ltd. and another vs. Special Judicial Magistrate and others, (1998) 5 SCC 749 wherein it has been held that under section 482 of the Code of Criminal Procedure the High Court's power to quash the proceeding can be exercised to discharge the accused at the stage of framing of charge or existence of remedy of an appeal and revision not a bar to invoke the jurisdiction of the High Court under Article 227 of the Constitution or under section 482 of Cr.P.C. It has been held by the Apex Court that absence of material on record to show that the appellants held licence under Fruit Products Order for the manufacture of the offending beverage, the continuance of proceeding against the appellants therein would be abuse of process of law. In this case, the prosecution of the company and its Managing Director under sections 7/16 of the PFA Act, 1954 for the manufacturing of adulterated product was held that preliminary evidence does not disclose as to the appellants were manufacturer of either bottle or the beverage or both. Before issuing notice the Magistrate should have carefully scrutinized the evidence brought on record.
26. Placing reliance on the case of State of Haryana vs. Bhajan Lal, 1992 Supp.(1) SCC 335 wherein the guideline has been provided by the Apex Court for quashing of the proceeding under section 482 of the Code of Criminal Procedure, learned counsel for the petitioners No.2 to 5 has further claimed that proceeding has been initiated malaifidely against the petitioners holding high sh office with a view to wreck vengeance and spite them due to private and personal grudge, therefore, complaint has been lodged dishonestly making allegations and e hence, the same are liable to be quashed. But, the Apex Court in the same case ad has held that if the purpose of registration of a case and intended investigation is
27. Pr not tainted with malafide, the proceeding is not entitled to be quashed.
In this regard, learned counsel for the petitioner replying to the a arguments advanced has submitted that at the time of taking cognizance the hy Magistrate is not required to record reasons at the time of issuing process. It is ad also contended that the complainant is a public servant who had filed complaint in the discharge of his official duty and, therefore, in view of section 200 M provision (a) held that the Magistrate was fully justified in taking cognizance of the offence without recording statement of the complaint. He further placed of reliance on the case of Dy.Chief Controller of Imports and Exports vs. Roshanlal Agarwal and others, (2003) 4 SCC 139 wherein it has been held that rt High Court erred in holding that the Magistrate did not apply its judicial mind ou before taking cognizance of the offence in question. In determining the question C whether any process is to be issued or not, what the Magistrate has to be satisfied is whether there is sufficient ground for conviction. Whether the evidence is h adequate for supporting the conviction can be determined only at the trial and not ig at the stage of inquiry.
H
28. As regarding the objection raised by the petitioners that complaint has been filed by the person not authorized by the respondent-PCB, the respondent has claimed that the Regional Officer is competent to file the complaint. It is also claimed that authorisation to file complaint, if not produced, is not sufficient to dismiss the complaint. In this regard, reliance has been placed on the decision in the case of Haryana State Cooperative Supply and Marketing Federation Limited vs. Jayam Textiles and another, (2014) 4 SCC 704 wherein the Full Bench of the Apex Court while dealing with aspect that complaint by the company, the authorisation to file complaint was not produced, held that defect is of procedural defects and irregularities which are curable and should not be allowed to defeat the substantive rights or to cause injustice. Procedure, a hand- maiden to justice, should never be made a tool to deny justice or perpetuate injustice by any oppressive or punitive use.
29. It would be profitable to refer to the case of Common Cause vs. Union of India and others, (2017) 9 SCC 499 wherein the Apex Court has opined under the Mines & Minerals Act that illegal mining does not only mean mining outside lease area. But, illegality can take place even inside the lease area. Non adherence of the scientific mining, balanced utilisation of natural resources and protection and preservation of environment by adhering to statutory provisions, would attract penalty and termination of lease.
30. It would be appropriate to quote the case of Gunmala Sales Pvt. Ltd. vs. Anu Mehta and others, reported as (2015) 1 SCC 103 wherein the sh Hon'ble Apex Court under the Negotiable Instruments Act has held mini trial or roving inquiry is not contemplated under section 482 Cr.P.C. for quashing of the e complaint. When the basis averment is present in the complaint that ad accused/Director was in charge of and responsible to company for conduct of its
31. Pr business, the Magistrate can issued process against the accused/Director.
The Hon'ble Apex Court in the case of U.P.Pollution Control a Board vs. Dr.Bhupendra Kumar Modi and another, reported as (2009) 2 SCC hy 147 has observed that the High Court quashing the complaint on the ground of ad inadequacy of materials on record, though specific and detailed averments regarding commission of offence for violation of sections 25 & 26 of the Water M (Prevention & Control of Pollution) Act, 1974 made in the complaint filed by the PCB under section 44 against the respondent and other accused persons, for of continuous commission of offence showing specific role of each accused in the day to day affairs of the decision making process, the Magistrate is only to be rt prima facie satisfied whether there are sufficient ground for proceeding against ou the accused. Quashing of the complaint by the High Court was satisfied. C
32. It would be in exaggeration to state that strict approach prescribed for offenders causing air and water pollution should be made. Those who h discharge noxious polluting effluents into streams, rivers or any other water ig bodies which detrimentally affects public health at large should be dealt with H strictly dehors technical objections, as has been held in the case of U.P.Pollution Control Board (supra).
33. Therefore, quashing the complaint in routine manner would not justify in terms of strict standards prescribed in the Environment Protection and Pollution Control Act.
34. Thus, this Court is of the opinion that it would not be a case, in which, powers under section 482 of Cr.P.C. be exercised. Accordingly, this petition is dismissed.
(SUSHIL KUMAR PALO) JUDGE Digitally signed by RAJESH T MAMTANI Date: 2018.03.21 15:40:48 -07'00' H ig RM h C ou rt of M ad hy a Pr ad e sh


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 2
Dietary
Summery courgette flowers are stuffed with a tomato paste and served with a bright green pea purée, mint oil and cubes of Spanish cheese in this lovely looking starter.
For the pistou, heat a large pan and add the oil. Once hot, add all the vegetables and tinned tomatoes and cook on a medium heat until the flavours are mingled - this will take 8-12 minutes. Allow it cool.
Heat a deep fat fryer to 180C/350F (Caution: hot oil can be dangerous. Do not leave unattended).
Roll the flowers in flour then dip in the beaten egg coat them. Deep fry the flowers for a couple of minutes until crisp. Carefully remove from the fryer and drain on a plate lined with kitchen roll.
For the pea purée, heat a large saucepan of boiling water and season with salt. Blanch the peas and then drain and allow to cool.
Place the peas and mint leaves into a blender and blend to make a purée. Season with salt and pepper to taste.
To serve, place the pea purée on the plate along with the courgette flowers. Top with the pea shoots and Manchego cheese and drizzle with the mint oil.


public class TransformationTools
extends java.lang.Object
TransformationTools
provides a list a methods for transforming geometry objects useful in
particular contexts where the result cannot be stored in an object.
Note that in common situations, the use of TransformationTools
should be avoided
preferring the use of the 'transform' or 'applyTransform' methods provided with the concerned
objects. Also note that these methods are possibly more computationally expensive than their
respective couterparts.
| Constructor | Description |
|---|---|
TransformationTools() |
| Modifier and Type | Method | Description |
|---|---|---|
static double |
computeTransformedX(Matrix3DReadOnly matrix,
boolean transpose,
double x,
double y,
double z) |
Computes and returns the x-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedX(Matrix3DReadOnly matrix,
boolean transpose,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedX(AffineTransform affineTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
pointOriginal
by affineTransform . |
static double |
computeTransformedX(AffineTransform affineTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
vectorOriginal
by affineTransform . |
static double |
computeTransformedX(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
pointOriginal
by quaternionBasedTransform . |
static double |
computeTransformedX(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
vectorOriginal
by quaternionBasedTransform . |
static double |
computeTransformedX(RigidBodyTransform rigidBodyTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
pointOriginal
by rigidBodyTransform . |
static double |
computeTransformedX(RigidBodyTransform rigidBodyTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
vectorOriginal
by rigidBodyTransform . |
static double |
computeTransformedX(QuaternionReadOnly quaternion,
boolean conjugate,
double x,
double y,
double z) |
Computes and returns the x-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
static double |
computeTransformedX(QuaternionReadOnly quaternion,
boolean conjugate,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the x-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
static double |
computeTransformedY(Matrix3DReadOnly matrix,
boolean transpose,
double x,
double y,
double z) |
Computes and returns the y-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedY(Matrix3DReadOnly matrix,
boolean transpose,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedY(AffineTransform affineTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
pointOriginal
by affineTransform . |
static double |
computeTransformedY(AffineTransform affineTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
vectorOriginal
by affineTransform . |
static double |
computeTransformedY(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
pointOriginal
by quaternionBasedTransform . |
static double |
computeTransformedY(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
vectorOriginal
by quaternionBasedTransform . |
static double |
computeTransformedY(RigidBodyTransform rigidBodyTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
pointOriginal
by rigidBodyTransform . |
static double |
computeTransformedY(RigidBodyTransform rigidBodyTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
vectorOriginal
by rigidBodyTransform . |
static double |
computeTransformedY(QuaternionReadOnly quaternion,
boolean conjugate,
double x,
double y,
double z) |
Computes and returns the y-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
static double |
computeTransformedY(QuaternionReadOnly quaternion,
boolean conjugate,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the y-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
static double |
computeTransformedZ(Matrix3DReadOnly matrix,
boolean transpose,
double x,
double y,
double z) |
Computes and returns the z-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedZ(Matrix3DReadOnly matrix,
boolean transpose,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
tupleOriginal
by matrix . |
static double |
computeTransformedZ(AffineTransform affineTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
pointOriginal
by affineTransform . |
static double |
computeTransformedZ(AffineTransform affineTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
vectorOriginal
by affineTransform . |
static double |
computeTransformedZ(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
pointOriginal
by quaternionBasedTransform . |
static double |
computeTransformedZ(QuaternionBasedTransform quaternionBasedTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
vectorOriginal
by quaternionBasedTransform . |
static double |
computeTransformedZ(RigidBodyTransform rigidBodyTransform,
boolean invert,
Point3DReadOnly pointOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
pointOriginal
by rigidBodyTransform . |
static double |
computeTransformedZ(RigidBodyTransform rigidBodyTransform,
boolean invert,
Vector3DReadOnly vectorOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
vectorOriginal
by rigidBodyTransform . |
static double |
computeTransformedZ(QuaternionReadOnly quaternion,
boolean conjugate,
double x,
double y,
double z) |
Computes and returns the z-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
static double |
computeTransformedZ(QuaternionReadOnly quaternion,
boolean conjugate,
Tuple3DReadOnly tupleOriginal) |
Computes and returns the z-coordinate resulting from the transformation of
tupleOriginal
by quaternion . |
public static double computeTransformedX(Matrix3DReadOnly matrix, boolean transpose, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedX(Matrix3DReadOnly matrix, boolean transpose, double x, double y, double z)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedY(Matrix3DReadOnly matrix, boolean transpose, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedY(Matrix3DReadOnly matrix, boolean transpose, double x, double y, double z)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedZ(Matrix3DReadOnly matrix, boolean transpose, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedZ(Matrix3DReadOnly matrix, boolean transpose, double x, double y, double z)
tupleOriginal
by matrix
.matrix
- the matrix used to transform the given tuple. Not modified.transpose
- whether the operation should performed with the transpose of the given matrix or
not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedX(QuaternionReadOnly quaternion, boolean conjugate, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedX(QuaternionReadOnly quaternion, boolean conjugate, double x, double y, double z)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedY(QuaternionReadOnly quaternion, boolean conjugate, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedY(QuaternionReadOnly quaternion, boolean conjugate, double x, double y, double z)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedZ(QuaternionReadOnly quaternion, boolean conjugate, Tuple3DReadOnly tupleOriginal)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.tupleOriginal
- the tuple to be transformed. Not modified.public static double computeTransformedZ(QuaternionReadOnly quaternion, boolean conjugate, double x, double y, double z)
tupleOriginal
by quaternion
.quaternion
- the quaternion used to transform the given tuple. Not modified.conjugate
- whether the operation should performed with the conjugate of the given
quaternion or not.x
- the x-coordinate of the tuple to be transformed.y
- the y-coordinate of the tuple to be transformed.z
- the z-coordinate of the tuple to be transformed.public static double computeTransformedX(RigidBodyTransform rigidBodyTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedY(RigidBodyTransform rigidBodyTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedZ(RigidBodyTransform rigidBodyTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedX(RigidBodyTransform rigidBodyTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedY(RigidBodyTransform rigidBodyTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedZ(RigidBodyTransform rigidBodyTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by rigidBodyTransform
.rigidBodyTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedX(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedY(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedZ(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedX(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedY(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedZ(QuaternionBasedTransform quaternionBasedTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by quaternionBasedTransform
.quaternionBasedTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedX(AffineTransform affineTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by affineTransform
.affineTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedY(AffineTransform affineTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by affineTransform
.affineTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedZ(AffineTransform affineTransform, boolean invert, Point3DReadOnly pointOriginal)
pointOriginal
by affineTransform
.affineTransform
- the transform used to transform the given point. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.pointOriginal
- the point to be transformed. Not modified.public static double computeTransformedX(AffineTransform affineTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by affineTransform
.affineTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedY(AffineTransform affineTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by affineTransform
.affineTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.public static double computeTransformedZ(AffineTransform affineTransform, boolean invert, Vector3DReadOnly vectorOriginal)
vectorOriginal
by affineTransform
.affineTransform
- the transform used to transform the given vector. Not modified.invert
- whether the operation should performed with the inverse of the given transform or
not.vectorOriginal
- the vector to be transformed. Not modified.


{%extends 'base.html'%} {%block content%}
Model elevation: {{HRDPS_elevation}}
Model elevation: {{NAM_elevation}}
{{date_issued}}
Confidence: {{confidence}}


[gecode-users] compiling problem examples
Guido Tack
tack at ps.uni-sb.de
Tue Aug 12 17:18:28 CEST 2008
Andrea Rendl wrote:
> I can execute the problems in the examples directory but cannot
> compile their source code (on Linux): g++ cannot find included header
> files, such as examples/support.hh.
> Both $LD_LIBRARY_PATH and $LIBRARY_PATH include the root directory of
> Gecode (where the .so files and the examples/ directory are) and the
> current directory, which I thought would be sufficient for compiling
> the examples. Is there anything else I need to do?
You not only need the library paths, but also the proper include paths
to find the header files. You can compile the examples using the
Makefile we supply. For this, you have to be in the gecode root
directory (i.e. the directory above the examples directory), and you
can just type e.g. make examples/queens. If you want to compile an
example by hand, just use the same command line arguments for gcc as
in our Makefile (in particular, make sure that the Gecode headers as
well as the Gecode root directory, i.e., examples/.., is mentioned in
an -I argument).
Cheers,
Guido
More information about the gecode-users
mailing list